我正在使用YouTube版的YouTube API使用以下网址获取YouTubeVideoFeed对象:
注意:我已将USERNAME替换为我需要关注的帐户。
到目前为止,获取Feed,迭代条目,获取玩家网址,标题和缩略图都非常简单。但现在我想在页面上添加一个“访问频道”链接。我无法弄清楚如何从Feed中获取频道的“公共”URL(在这种情况下,来自用户的默认频道)。据我所知,直接存储在Feed中的唯一网址指向http://gdata.youtube.com/
,不公共网站。
如何基于Feed链接到频道?
答案 0 :(得分:1)
嗯,如果您想自己构建网址,那么youtube.com/user/USERNAME是一个非常安全的选择,但我认为您想要的是链接rel ='alternate'
你必须从feed获取链接数组并迭代以找到alternate,然后获取href
类似的东西:
client = gdata.youtube.service.YouTubeService()
feed = client.GetYouTubeVideoFeed('http://gdata.youtube.com/feeds/api/users/username/uploads')
for link in feed.link:
if link.rel == 'alternate':
print link.href
输出:
http://www.youtube.com/profile_videos?user=username
最正确的做法是从用户个人资料Feed中抓取“备用”链接,因为从技术上讲,上述网址会转到上传的视频,而非主要频道页
feed = client.GetYouTubeUserEntry('http://gdata.youtube.com/feeds/api/users/username')
for link in feed.link:
if link.rel == 'alternate':
print link.href
答案 1 :(得分:0)
你可能会混淆用户名...当我使用我的用户名时,我会得到我的公共页面 http://gdata.youtube.com/feeds/api/users/drdredel/uploads 他们的gmail用户名和youtube用户名之间存在一些古怪的区别。或者我误解了你的问题?