Youtube APIを使用して、特定のチャンネルからすべての動画を取得しようとしています。 Google Developers Consoleでプロジェクトをセットアップし、APIブラウザーキーを取得しました。 YouTube Data API v3を有効にし、安全対策のためにYouTube Analytics APIを有効にしました。
このエラーが発生する原因がわかりません。誰でも私を助けることができます。
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "accessNotConfigured",
"message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
}
],
"code": 403,
"message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
}
}
私が使用しているコード。まだ何もしません。ただデータを取得しようとします。
jQuery.getJSON('https://www.googleapis.com/youtube/v3/channels?part=UncleBens&id=UncleBens&key=AIzaSyDXD80S1mFHH2HSZFxLemkae-_Cl_nY5Xk', function(data){
console.log(data);
for(var i=0; i<data.data.items.length; i++) {
console.log(data.data.items[i].title); // title
console.log(data.data.items[i].description); // description
}
});
Google Developers Console で、プロジェクトの「Referers」を「許可されているすべてのリファラー」に設定してみてください(フィールドを空のままにしてください)。
これを行うには、 Google Developers Console に移動し、API&Auth/Credentialsを開き、[許可されたリファラーを編集]をクリックして入力フィールドを空にします。
期待どおりに機能するには、いくつかのAPIを(新しいGoogleコンソールで)有効にする必要があります。
https://console.developers.google.com に移動し、「API」の下で次のAPIが有効になっていることを確認します。
私は同じ問題に直面しました。この背後にある理由とロジックはわかりませんが、次の手順は機能しました-
1)リファラーフィールドを空白のままにしました(リファラーは許可されます)。ただし、これだけでは機能しませんでした。 2)ブラウザキーを再生成しました。それはトリックをしました。
お役に立てれば。
今朝も同じ問題に直面しましたが、Googleアカウントでログインしようとしていました。私はまったく同じメッセージを受け取っていました。
私に働いたのは、この2つのAPIを追加することでした:Google+ API Contacts API
コンソールで: https://console.developers.google.com/project/your-project-id/apiui/api
「許可されたリファラー」フィールドを空にしたくないのは、ユーザーがアプリにログインできる場所を制御できるようにするためです。 APIキーを変更する必要もありませんでした。記録のために、Spring Social Google 1.1.0を使用しています。
GoogleアナリティクスのManagement APIを使用しているときに同じ問題が発生しました。ここに私のために働いたものがあります:
APIコンソールで次のAPIが有効になっていることを確認します。
APIに必要なスコープがアプリケーションで適切に定義されていることを確認してください。 Youtubeの場合、API呼び出しにアクセスするために必要なスコープを使用しますyuo
APIコンソールのGoogle ProjectのCLIENT_IDとCLIENT_SECRETが、クライアントアプリケーションで定義されている正しいものであることを確認してください。
同じ問題がありました。紹介リストを空にしてみましたが、問題は解決しませんでした。次に、キーを再生成しました。新しいキーは「期限切れキー」エラーを出しました。それで、私は今は機能しなくなった古いキーに戻りました。
プロジェクトで「Youtube Data API V3」が有効になっていることを確認してください。 「API&Auth」->「API」の下にあります。
また、プロジェクトのYoutube Data APIを有効にした後、APIキーを使用してリクエストを発行する前に1分間待ちます。
アクションにPublic API access
を使用する場合、サーバーIPを許可IPリストに追加する必要があります([プロジェクト]-> [APIと認証]-> [資格情報]を選択)。そうでない場合は、上記のようなエラーが表示されます。「アクセスが設定されていません。GoogleDevelopers Consoleを使用して、プロジェクトのAPIを有効にしてください。」
詳細を見るには添付ファイルをご覧ください
https://console.developers.google.com のapiおよびauthクレデンシャルで、サーバーアプリケーションのキーをそのままにしてください。
期待どおりに動作するには、いくつかのAPIを有効にする必要があります。
まず https://console.developers.google.com に移動し、「API」の下にContacts API があることを確認します。 およびGoogle+ API有効。
これが完了すると、そのエラーメッセージは表示されなくなります。
これは古いですが、私の場合はこれを理解し、他の人に役立つかもしれないと思いました。私はoauthに行きましたが、解決したようです。
本当の問題は、無制限のキーを使用する場合(および、おそらく、APIの依存関係が有効になっている場合)、請求先アカウントがリンクされることです。 APIは動作するはずです。制限なく機能する場合、あなたは正しい軌道に乗っています。
Androidに制限すると、アプリに署名するまでそのキーで再度失敗します。私が見つけた最も簡単な方法は、gradleファイルのAndroidの下にあるバリアントの署名設定を使用することでした。
signingConfigs {
debug {
storeFile file("/users/xxxxxxxxxx/Android/keystores/google_demos/debugandroid.jks")
storePassword "xxxxxxxxxx"
keyAlias "com.example.xxxxxxxxxx"
keyPassword "xxxxxxxx"
}
}
プロジェクトの「Referers」を「Any referer allowed」に設定します(フィールドは空白のままにします)
コンソール( https://console.developers.google.com/project )に移動し、Api&auth >> Credentialsを開き、[許可されたリファラーの編集]の下をクリックして入力フィールドを空にします。クエリをハードリフレッシュします
うまくいく。
私は同じ問題に直面し、私の問題は、projectとGoogle API
これはAndroidの例です
public MakeRequestTask(GoogleAccountCredential credential) {
HttpTransport transport = AndroidHttp.newCompatibleTransport();
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
mService = new com.google.api.services.calendar.Calendar.Builder(
transport, jsonFactory, credential)
.setApplicationName("Google Calendar API Example")
.build();
}
ここでの名前は「Google Calendar API Example」です
google APIの名前は「App Example」です
問題を解決するために、プロジェクトの名前を
public MakeRequestTask(GoogleAccountCredential credential) {
HttpTransport transport = AndroidHttp.newCompatibleTransport();
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
mService = new com.google.api.services.calendar.Calendar.Builder(
transport, jsonFactory, credential)
.setApplicationName("App Example")
.build();
}
私はこれと同じ問題に遭遇し、私にとってうまくいったのは「ブラウザキー」の代わりに「サーバーキー」を使用することでした。私は両方のケースでブラウザからリクエストを行っていたので、なぜそれが問題になるのか分かりませんが、うまくいきます:)