通过V3 Data API上传YouTube视频 - 用户是否拥有频道?

时间:2013-12-01 01:08:52

标签: php youtube youtube-api

在没有频道的情况下将视频上传到YouTube帐户失败。

我正在使用YouTube数据API(第3版)和适用于PHP的Google API客户端库将自定义视频上传到用户频道。用户已授权(通过OAuth2)管理其YouTube帐户,但用户可能从未创建过YouTube频道。

问题是:在尝试开始上传之前,如何检查用户是否拥有有效频道?理想情况下,我想在身份验证后立即检查。

2 个答案:

答案 0 :(得分:2)

收到有效的oAuth令牌后,您可以进行以下调用(假设'$ youtube'代表您的Google_YoutubeService对象):

$channelsResponse = $youtube->channels->listChannels('contentDetails', array(
      'mine' => 'true',
    ));

如果$channelsResponse['items']为空,则经过身份验证的用户没有频道。

答案 1 :(得分:0)

http调用“https://www.googleapis.com/youtube/v3/channels?part=contentDetails&mine=true&key= {}& access_token = {}' 即使用户没有频道,也会返回项目。

示例回复是:

{u'etag': u'"IHLB7Mi__JPvvG2zLQWweA"',
 u'items': [{u'contentDetails': {u'googlePlusUserId': u'107123',
    u'relatedPlaylists': {u'favorites': u'FLMZmB78WMw',
     u'likes': u'LLMZmB78we',
     u'uploads': u'UUMZmB78Wwef',
     u'watchHistory': u'HLMZmB78Wwe',
     u'watchLater': u'WLMZmB78WMDgwef'}},
   u'etag': u'"IHLB7Mi__JPvvG2zLQWAg8l36"',
   u'id': u'UCMZmB78WMD',
   u'kind': u'youtube#channel'}],
 u'kind': u'youtube#channelListResponse',
 u'pageInfo': {u'resultsPerPage': 1, u'totalResults': 1}}

如果'googlePlusUserId'作为回应,则用户有频道。