用户配置文件请求返回NULL



我有一个问题与YouTube个人资料的请求。我认为这与一个用户有链接的谷歌帐户有关。

我们的系统有一个授权YouTube帐户的过程。一旦用户授权了我们的系统,我们使用访问令牌来检索用户的默认配置文件,以检查它实际上是我们期望被授权的帐户,这对于大多数用户来说工作得很好,但对于一个用户,对https://gdata.youtube.com/feeds/api/users/default的请求(使用PHP Zend库的->getUserProfile()方法)将为该用户返回NULL。我认为这可能是因为他们有一个主要的Google Apps账户,没有YouTube频道。还有一个不同的YouTube频道(当你点击"切换帐户"时,在YouTube帐户菜单中列出)。

我们已经尝试使用Safari私人浏览器&一个Chrome隐身浏览器,但这两个似乎都不起作用。

有人知道这是为什么吗,&我如何去检查每个用户的链接配置文件/帐户的配置文件?

不是每个帐户都有唯一的用户名,您不应该依赖用户名,而应该依赖通道id。

来自API文档:

对于使用旧的Data API v2的开发人员来说,最大的收获是你必须意识到不是每个YouTube频道都有唯一的用户名。幸运的是,每个YouTube频道都保证有一个与之关联的唯一频道ID,由<yt:channelId>标记中的值表示,我们建议开发人员使用这个值来代替用户名。例如,如果您有一个将YouTube用户名映射到该频道信息的数据库,那么您的旧条目应该继续工作。(现有频道不会丢失用户名。)然而,随着时间的推移,您将越来越有可能不得不使用不能由用户名唯一标识的通道。

有几个因素简化了从用户名到通道id的转换。首先,Data API v2在任何接受YouTube用户名的请求url中接受通道ID,这意味着您可以无缝地将通道ID交换到现有代码中。例如,由于UC_x5XG1OV2P6uZZ5FSM9Ttw是带有遗留用户名GoogleDevelopers的通道的通道ID,因此以下两个url是等效的API请求:

https://gdata.youtube.com/feeds/api/users/GoogleDevelopers?v=2.1https://gdata.youtube.com/feeds/api/users/UC_x5XG1OV2P6uZZ5FSM9Ttw?v=2.1

另一件要记住的事情是,无论何时发出经过身份验证的v2请求,在构造请求url时都不需要包含授权通道的用户名。您总是可以使用默认值来代替用户名(或通道ID)。因此,如果您想检索当前授权用户的视频上传提要,例如,您可以在https://gdata.youtube.com/feeds/api/users/default/uploads?v=2.1.

相关内容

  • 没有找到相关文章

最新更新