通过访问令牌访问YouTube频道标题需要什么范围?

时间:2017-05-25 06:40:27

标签: youtube google-api youtube-api

我正在开发一个使用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->clientGoogle_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];
}

1 个答案:

答案 0 :(得分:0)

不要忘记包含此scope

https://www.googleapis.com/auth/youtube

以及title下的字段参数“snippet”。

这是我的API explorer

"title": "Steve Jobs" //that's my title