1

我正在使用 Python 版本的 YouTube API 来获取使用以下 URL 的 YouTubeVideoFeed 对象:

http://gdata.youtube.com/feeds/api/users/USERNAME/uploads

注意:我已将 USERNAME 替换为我需要关注的帐户。

到目前为止,获取提要、迭代条目、获取玩家网址、标题和缩略图都非常简单。但现在我想在页面上添加一个“访问频道”链接。我不知道如何从提要中获取频道的“公共”URL(在这种情况下,是用户的默认频道)。据我所知,直接存储在提要中的唯一 URL 指向的是http://gdata.youtube.com/而不是公共站点。

如何根据提要链接到频道?

4

2 回答 2

1

好吧,如果您想自己构建 URL,则 youtube.com/user/USERNAME 是一个非常安全的选择,但我认为您想要的是链接 rel='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

最正确的做法是从用户个人资料提要中获取“备用”链接,因为从技术上讲,上述 URL 指向上传的视频,而不是主频道页面

feed = client.GetYouTubeUserEntry('http://gdata.youtube.com/feeds/api/users/username')

for link in feed.link:
  if link.rel == 'alternate':
    print link.href

输出: http ://www.youtube.com/profile?user=username

于 2009-04-24T18:09:41.487 回答
0

你可能会混淆用户名......当我使用我的用户名时,我会看到我的公共页面 http://gdata.youtube.com/feeds/api/users/drdredel/uploads 他们在你的 gmail 用户名和你的 youtube 用户名之间有一些古怪的区别. 还是我误解了你的问题?

于 2009-04-22T08:29:51.847 回答