我正在开发一个使用Google的PHP API库的项目。我目前正在使用offline
访问权限的范围:
https://www.googleapis.com/auth/youtube.force-ssl
https://www.googleapis.com/auth/youtube.upload
但这并没有让我获得获得认证频道的频道标题。
然后我尝试添加更多范围:
https://www.googleapis.com/auth/youtube.readonly
https://www.googleapis.com/auth/youtubepartner
https://www.googleapis.com/auth/youtubepartner-channel-audit
但我也有同样的结果。是否存在与我无法与YouTube相关的范围?
-
以下是我使用的代码,请注意$this->client
是Google_Client
的实例:
/**
* Fetch channel title
*
* @return string
*/
public function fetchChannelTitle() {
/** @var \Google_Service_YouTube_Channel $details */
$details = $this->getChannelDetails();
$snippet = $details->getSnippet();
return $snippet->getTitle();
}
/**
* Get channel details
*
* @throws YouTubeException
*/
public function getChannelDetails()
{
if (!$this->access_token) {
throw new YouTubeException('NO_REFRESH_TOKEN');
}
$this->client->setAccessToken($this->access_token);
$parts = 'snippet,contentDetails,statistics';
$params = ['mine' => true];
$response = (new Google_Service_YouTube($this->client))->channels->listChannels(
$parts,
$params
);
return $response->getItems()[0];
}
答案 0 :(得分:0)
不要忘记包含此scope
https://www.googleapis.com/auth/youtube
以及title
下的字段参数“snippet
”。
这是我的API explorer:
"title": "Steve Jobs" //that's my title