在没有频道的情况下将视频上传到YouTube帐户失败。
我正在使用YouTube数据API(第3版)和适用于PHP的Google API客户端库将自定义视频上传到用户频道。用户已授权(通过OAuth2)管理其YouTube帐户,但用户可能从未创建过YouTube频道。
问题是:在尝试开始上传之前,如何检查用户是否拥有有效频道?理想情况下,我想在身份验证后立即检查。
答案 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'作为回应,则用户有频道。