में Google PHP लाइब्रेरी परिणाम के माध्यम से यूट्यूब Analytics API के सभी अनुरोध एपीआई एक्सप्लोरर के माध्यम से मैं यूट्यूब Analytics API को सफलतापूर्वक अनुरोध करने में सक्षम हूं। मेरा कोड Google PHP क्लाइंट लाइब्रेरी, विशेष रूप से Google_Service_YouTubeAnalytics क्लास का उपयोग करने का प्रयास कर रहा है। दुर्भाग्यवश, इस वर्ग पर कोई दस्तावेज नहीं है।400 खराब अनुरोध
मैं ग्राहक पर आईडी और दावा प्रमाण-पत्र सेट कर रहा हूं। मैं काफी आश्वस्त इस सही ढंग से काम कर रहा है, क्योंकि मैं गलत पता है कि मैं कुछ करने के लिए निजी कुंजी को बदलने हूँ, मैं मिलता है:
{"code":400,"error":"Error refreshing the OAuth2 token, message: '{\n \"error\" : \"invalid_grant\"\n}'"}
लेकिन जब मैं सही निजी कुंजी डालें, मैं निम्नलिखित मिल प्रतिक्रिया:
{"code":400,"error":"Error calling GET https:\/\/www.googleapis.com\/youtube\/analytics\/v1\/reports?ids=channel%3D%3DCHANNEL_ID&start-date=2014-09-01&end-date=2014-09-05&metrics=views%2Cuniques: (400) Invalid query. Query did not conform to the expectations."}
यह मुझे नहीं बताता है क्या क्वेरी (जो अविश्वसनीय रूप से मददगार होगा) के बारे में अवैध है, इसलिए मुझे नहीं पता कि मैं क्या कर गलत तरीके से किया जा सकता है। किसी भी मदद की सराहना की है।
यहाँ मेरी कोड अनुरोध करता है वह यह है कि:
$client = new \Google_Client();
$client->setApplicationName(self::APP_NAME);
// set some stuff
$client->setClientId(self::CLIENT_ID);
$client->setClientSecret(self::CLIENT_SECRET);
$client->setAssertionCredentials(new \Google_Auth_AssertionCredentials(
self::CRED_ID,
[
"https://www.googleapis.com/auth/youtube.readonly",
'https://www.googleapis.com/auth/yt-analytics.readonly'
],
self::youtubeKey()
));
$youtubeService = new \Google_Service_YouTubeAnalytics($client);
$resp = $youtubeService->reports->query(
self::CHANNEL_ID,
'2014-09-01',
'2014-09-05',
'views,uniques'
);
इसके अलावा, मैं अपने कोड में Google Analytics क्लाइंट लाइब्रेरी का उपयोग कर रहा हूं, और यह ठीक काम करता है। मैं लगभग उसी तरह से कोड का उपयोग कर रहा हूँ। Uggh। –
क्या आपका ऐप वास्तव में "चैनल == CHANNEL_ID" स्ट्रिंग को ids पैरामीटर के मान के रूप में भेज रहा है, या जब आपने SO में त्रुटि कोड चिपकाया है तो क्या आपका संशोधन है? – jlmcdonald
नहीं, मैंने इस पोस्ट में अपनी वास्तविक चैनल आईडी को छिपाने के लिए बदल दिया है। मेरे कोड में, यह मेरा चैनल आईडी मान है। –