2016-09-01 6 views
0

YouTube APIブラウザキーを使用しています。私はここに2つのキーがあります。私がコードを入手したプロジェクト。 問題は、自分のキーを使用すると機能しないことです。それは、ランダムなユーザーからの他のキーを操作しているだけです。私はコンソールをチェックするとYouTube APIクレデンシャル - キャッチしないタイプエラー:未定義のプロパティ '0'を読み取ることができません

、私はそれがこのエラーを投げて見ました:

Uncaught TypeError: Cannot read property '0' of undefined 

コードをテストするための一時鍵がこれです:

AIzaSyDXpwzqSs41Kp9IZj49efV3CSrVxUDAwS0 

あなたはで、独自のキーを作成することができます。次のように

https://console.developers.google.com/apis/credentials 

私のコードは次のとおりです。

このように:

/*YouTube API V3*/ 

var youtube = 'CHANNEL_ID'; 

//YouTube API V3 
$.ajax({ 
    url: 'https://www.googleapis.com/youtube/v3/channels?part=statistics&id='+youtube, 
    dataType: 'jsonp', 
    type: 'GET', 
    data:{ 
    key:'KEY_GOES_HERE' 
    }, 
    success: function(data) { 
    var subscribers = parseInt(data.items[0].statistics.subscriberCount); 
    var k = kFormatter(subscribers); 
    $('#posts .youtube .count').append(k); 
    getTotal(subscribers); 
    } 
});` 
+0

'プロパティが '0'の未定義です。エラーメッセージがクリアされています。定義されていないものから要素 '0'にアクセスしようとしています。あなたのコードを見て、要素 '0'にアクセスしているすべての場所を見つけてください。それは単一の場所 'data.items [0] .statistics.subscriberCount'です。その '[0]'がエラーをスローしている場合、それが何に追加されても 'undefined'です - これは' data.items'です。したがって、 'data'を取得したときに' items'プロパティがありません。したがって、どのような応答が得られているかを確認し、適切にアクセスするためにコードを変更してください。 – vlaz

+0

問題が見つかりました。これはAPIでリファラーをどのように設定したかに関連していますが、例のように設定しました: '* .example.com/*' – User325313

答えて

0

解決済み。

私がしなければならなかったすべては、初めにドットせずに自分のドメイン名を使用して、最後にスラッシュ、APIコンソール内の、このようなものだった:

Accept requests from these HTTP referrers (web sites) (Optional) Use asterisks for wildcards. If you leave this blank, requests will be accepted from any referrer. Be sure to add referrers before using this key in production. mysitename.com

それは数秒、または数分かかる場合があります保存後に有効になります。 いずれにしても、エラーが続く場合は、そのフィールドを空白にしてください。 ページが更新されるたびにページが更新されるか、別のページに移動するたびにランダムに作業するような場合は、フィールドを空のままにしておくと、自分のサーバーにホストされていないため、無責任であるAPIを使用して

関連する問題