1

は、だから私は、次のスコープを持っているユーチューブ分析への要求を行いnullを返します。YouTubeアナリティクス要求は

$command = 'curl -H "Authorization: Bearer ' . $access_token . '"https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3DMINE&start-date=2016-07-01&end-date-2016-08-31&metrics=views&dimensions=day&sort=day'; 
     exec($command, $result); 

私がアクセストークンを取得し、ユーザーの資格情報を保存することに成功したとしても、私はこの要求から取得すると、このです:

array(0) { } 

エラーの種類はありません。なぜこのようなことが起こるのか誰にも分かりません。詳細が必要な場合は、私に尋ねてください。私はこの問題の時計を持っているので、本当に助けが必要です。どんな助けも歓迎されます。あなたのすべての時間をありがとう! これは私がAPIをエクスプローラで要求を行ってから得るものです:

{ 
"kind": "youtubeAnalytics#resultTable", 
"columnHeaders": [ 
    { 
    "name": "day", 
    "columnType": "DIMENSION", 
    "dataType": "STRING" 
    }, 
    { 
    "name": "views", 
    "columnType": "METRIC", 
    "dataType": "INTEGER" 
    } 
] 
} 
+0

API Explorerを使用して同じデータを提供できますか?私はそれを試してみましたが、私のアカウントはYTチャンネルを持っていないので、何のデータも得られません。ただし、YouTubeアナリティクスAPIで指定された[レスポンスボディ](https://developers.google.com/youtube/analytics/v1/#response)とは異なるレスポンスに基づいて、 – adjuremods

+0

@adjuremodsレスポンスボディ["data"] =>(残りの配列は私のプロジェクトのものです) – Alan

+0

私はapi explorerの使い方を知らないので、今すぐチェックします – Alan

答えて

0

私は私の問題への解決策を発見しました。私の要求の終了日は、タイプミスがあった場合:

end-date-2016-08-31 

正しいバージョンは次のようになります。

end-date=2016-08-31 

そして、私は呼んでいたURLは、引用符を持っていなければなりませんでした。 だから私の正しい呼び出しは次のようになります。

$command = 'curl -H "Authorization: Bearer ' . $access_token . '" "https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3DMINE&start-date=' . date('Y-m-d', strtotime('-31 days')) . '&end-date=' . date('Y-m-d', strtotime('today')). '&metrics=subscribersGained%2CsubscribersLost&dimensions=day&sort=day"'; 

はお時間をいただき、ありがとうございます!