在没有频道的情况下将视频上传到YouTube帐户失败。
我使用YouTube数据API(第3版)和Google API客户端库PHP将自定义视频上传到用户频道。用户已授权(通过OAuth2)管理其YouTube帐户,但用户可能从未创建过YouTube频道。
问题是:在尝试开始上传之前,我如何检查用户是否有有效的频道?理想情况下,我希望在身份验证后立即进行检查。
收到有效的oAuth令牌后,您可以进行以下调用(假设'$youtube'代表您的Google_YoutubeService对象):
$channelsResponse = $youtube->channels->listChannels('contentDetails', array(
'mine' => 'true',
));
如果$channelsResponse['items']
为空,则经过身份验证的用户没有通道。
http获取对'的调用https://www.googleapis.com/youtube/v3/channels?part=contentDetails&mine=真&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"正在响应,则用户具有通道。