2017-08-24 37 views
10

首先,這個問題可能聽起來像是重複的,但從我已經看到的答案來看,我認爲答案並不正確,因爲我沒有權限。PHP - 獲取OAuth後的頻道ID - YouTube API

我試圖在授權他們的Google帳戶後找到YouTube頻道ID。

我使用的範圍是:

https://www.googleapis.com/auth/yt-analytics.readonly 
https://www.googleapis.com/auth/userinfo.profile 

很多問題的答案是指訪問V3渠道API來獲取頻道ID。

$channelData = file_get_contents("https://www.googleapis.com/youtube/v3/channels?part=id&mine=true&access_token=".$token['access']); 
$channelData = json_decode($channelData, true); 

問題是我正在使用的範圍無法訪問此。 SO的其他問題都圍繞着這個終點。

Youtube API Retrieving Channel ID after authentication

How to get Channel ID (YouTube API v2)?

How to Get Channel id or url after Google Oauth PHP

請注意,我想保留範圍降到最低。爲什麼只有分析API才能做到這一點?我是否必須使用其他YouTube範圍來查找剛剛授權的人員的頻道ID?

我要問的問題是

有什麼辦法,我可以得到誰只是授權我目前的範圍的用戶的信道ID?如果不是什麼是我可以用來獲取他們的頻道ID的最小權限範圍?

回答

0

[編輯]

對不起,我先前錯過auditDetails一部分。你可以在這裏找到YouTube API範圍:YouTube API scopes

你當然需要那個:https://www.googleapis.com/auth/youtube。我不確定這個:https://www.googleapis.com/auth/youtube.force-ssl,因爲除了「force ssl」部分之外沒有任何解釋。

+0

感謝您的回答。我不想獲取auditDetails部分。優選地,片段或ID。此外,(也許我錯了)但我認爲範圍僅限於MCN/CMS持有者。我會做一些測試並回來! :) – ConorReidd

+0

@ConorReidd請檢查更新。 – instead

1

您應該添加youtube.readonly範圍,像socialite這樣的插件正好具有此硬編碼範圍。通道snippet可以通過channels方法獲得 - docspart=snippet

只讀範圍足夠輕以便將其包括到您的列表中。 userinfo.profileyt-analytics.readonly無權訪問頻道列表。此範圍是唯一需要獲取渠道ID的人員。