0

好日子,我嘗試使用服務帳戶獲取頻道ID,因爲我在我的項目的其他範圍上使用它。但是當我請求處理它給我的服務帳戶信息時。我使用php btw使用帶有服務帳戶的Youtube API v3獲取頻道ID

非常感謝提前和任何幫助,將不勝感激。

p.d.我會替換虛擬文本的真實帳戶信息。

Channel id on the tab and results image

的課程代碼和:

$credentials_file = $this->key_dir . $this->key_file['title']; 

    $client = new \Google_Client(); 
    $client->setAuthConfig($credentials_file); 
    $client->addScope('https://www.googleapis.com/auth/youtube'); 

    $client->setApplicationName("Youtube Analytics"); 
    $client->refreshTokenWithAssertion(); 

    $token = $client->getAccessToken(); 
    $accessToken = $token['access_token']; 
    if (!empty($accessToken)) { 

    $service = new \Google_Service_YouTube($client); 

    $data = $service->channels->listChannels('id,snippet', array('mine' => 'true')); 

    echo "id: " . $data->items[0]->id . "<br>"; 
    echo "Kind: " . $data->items[0]->kind . "<br>"; 
    echo "Snippet -> title : " . $data->items[0]->snippet['title'] . "<br>"; 

    } 

回答

1

據我所知,YouTube的API不支持服務帳戶流。如document中所述:

服務帳戶流支持不訪問用戶信息的服務器到服務器交互。但是,YouTube數據API不支持此流程。由於無法將服務帳戶鏈接到YouTube帳戶,因此嘗試使用此流程授權請求時將產生錯誤消息NoLinkedYouTubeAccount錯誤。

同樣在Youtube v3 Google Service Account Access問題中,「沒有計劃爲YouTube Data API v3調用添加對服務帳戶授權的支持。」正如相關SO問題#21890982#21057358所述:您需要自己的帳戶,您可以使用V3爲用戶創建一個無需用戶干預的服務驗證。

希望這會有所幫助。

+0

非常感謝,@Rebot先生,這是正確和清楚的。 –

相關問題