Google API:查找用户YouTube频道

时间:2013-02-13 18:49:45

标签: oauth youtube youtube-api

我使用的是YouTube API,并试图获取用户的YouTube链接。唯一显示的是Google+链接,称为链接字段。无论如何从Google帐户信息中获取用户的Youtube信息?

Google Response具有first_name,given_name和json响应中的链接。

谢谢!

2 个答案:

答案 0 :(得分:3)

根据Google YouTube API website文档,您可以获得包含与特定Google用户相关的所有YouTube频道的JSON回复。

第一步

显然,您需要确保使用OAuth 2.0登录Google Developer API(确保您使用YouTube范围:channels list)。这是因为您需要true才能加载用户特定数据。

第二步

https://www.googleapis.com/auth/youtube API可以通过以下方式查找频道:用户名,频道ID等...但是,ID字符串不是。相反,您可以将access_token布尔参数设置为access_token,以便获取特定Google用户拥有的YouTube频道(您无需指定Google用户的ID,因为{ {1}}让YouTube知道哪个用户正在尝试加载数据。

要使用API​​,请使用以下网址发出请求(将{YOUR_ACCESS_TOKEN_HERE'替换为您的JSON):

  

channels list

以下是您将获得的{ "kind": "youtube#channelListResponse", "etag": "xxxxxxxxxxxxxxxxxxxxxxxxxxx", "pageInfo": { "totalResults": 1, "resultsPerPage": 1 }, "items": [ { "kind": "youtube#channel", "etag": "xxxxxxxxxxxxxxxxxxxxxxxxxxx", "id": "YOUTUBE_CHANNEL_ID", "snippet": { "title": "Daniel Sadjadian", "description": "I’m Daniel Sadjadian - Car enthusiast, computer programmer & entrepreneur running my own business. I live life to the max and try my best to get the most out of each day. Every moment counts :)", "customUrl": "danielsadjadian", "publishedAt": "2013-11-09T19:47:41.000Z", "thumbnails": { "default": { "url": "https://yt3.ggpht.com/-EF0LibpIsEY/AAAAAAAAAAI/AAAAAAAAAAA/n0mUHQnyfkc/s88-c-k-no-mo-rj-c0xffffff/photo.jpg" }, "medium": { "url": "https://yt3.ggpht.com/-EF0LibpIsEY/AAAAAAAAAAI/AAAAAAAAAAA/n0mUHQnyfkc/s240-c-k-no-mo-rj-c0xffffff/photo.jpg" }, "high": { "url": "https://yt3.ggpht.com/-EF0LibpIsEY/AAAAAAAAAAI/AAAAAAAAAAA/n0mUHQnyfkc/s240-c-k-no-mo-rj-c0xffffff/photo.jpg" } }, "localized": { "title": "Daniel Sadjadian", "description": "I’m Daniel Sadjadian - Car enthusiast, computer programmer & entrepreneur running my own business. I live life to the max and try my best to get the most out of each day. Every moment counts :)" }, "country": "GB" }, "contentDetails": { "relatedPlaylists": { "likes": "LLXQYiggNxzVJ51ofKyG2ZUg", "favorites": "FLXQYiggNxzVJ51ofKyG2ZUg", "uploads": "UUXQYiggNxzVJ51ofKyG2ZUg", "watchHistory": "HL", "watchLater": "WL" } }, "statistics": { "viewCount": "30305", "commentCount": "0", "subscriberCount": "100", "hiddenSubscriberCount": false, "videoCount": "25" } } ] } 响应:

JSON

import ( ... "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson" ) type User struct { Id bson.ObjectId `bson:"_id,omitempty"` MessengerUserId int64 `bson: "messenger_user_id"` ... } ... newUser = User{...} usersCollection.Insert(&newUser) 响应包含有关用户频道的详细信息,包括频道ID。然后,您可以使用频道ID(与其他YouTube API一起)加载频道视频/播放列表/活动/等...

答案 1 :(得分:1)

我不知道它是否正是您想要的,但使用Google+ API可以获取用户网址,其中一个可以是用户的YouTube频道网址

更多信息: https://developers.google.com/+/api/latest/people/get

示例:

请求:

  

https://www.googleapis.com/plus/v1/people/117629885563933382879?key= {YOUR_API_KEY}

响应:

{
 "kind": "plus#person",
 "etag": "\"l9gWq2lTiBDNZWBx8kpM7h7VNYs/as5084EFycaxtFP9IxDLvhbwZKM\"",
 "birthday": "0000-12-30",
 "gender": "male",
 "urls": [
  {
   "value": "http://twitter.com/matiasmolinas",
   "type": "other"
  },
  {
   "value": "http://gplus.to/matiasmolinas",
   "type": "other"
  },
  {
   "value": "http://ar.linkedin.com/in/matiasmolinas",
   "type": "other"
  },
  {
   "value": "https://www.facebook.com/matias.molinas",
   "type": "other"
  },
  {
   "value": "http://www.youtube.com/user/matiasmolinasvideo",
   "type": "other"
  },
  {
   "value": "http://stackoverflow.com/users/1427200/matias-molinas",
   "type": "other"
  },
  {
   "value": "http://santafegtug.blogspot.com/",
   "type": "other"
  },
  {
   "value": "http://fuse21.blogspot.com/",
   "type": "other"
  },
  {
   "value": "http://lookthiscode.blogspot.com.ar/",
   "type": "other"
  },
  {
   "value": "https://yt-topic-explorer.googlecode.com/git/dist/index.html",
   "type": "other"
  },
  {
   "value": "http://santafegtug.appspot.com/",
   "type": "other"
  }
 ],
 "objectType": "person",
 "id": "117629885563933382879",
 "displayName": "Matias Molinas",
 "name": {
  "familyName": "Molinas",
  "givenName": "Matias"
 },
 "aboutMe": "Citas favoritas:<br /><br />Dentro de veinte años te sentirás más desilusionado por las cosas que no hiciste que por aquéllas que hiciste. Así que suelta las amarras. Navega fuera de la bahía segura. Atrapa los alisios en tus velas. Explora. Sueña. Descubre.<br />",
 "url": "https://plus.google.com/117629885563933382879",
 "image": {
  "url": "https://lh3.googleusercontent.com/-AJKFDGod6us/AAAAAAAAAAI/AAAAAAAAD64/Olccnle-qH4/photo.jpg?sz=50"
 },
 "organizations": [
  {
   "name": "UNER",
   "title": "Bioingenieria",
   "type": "school",
   "primary": false
  },
  {
   "name": "Software Consultant",
   "title": "Software Consultant",
   "type": "work",
   "startDate": "2011",
   "endDate": "2011",
   "primary": true
  },
  {
   "name": "Software Santa Fe",
   "type": "work",
   "endDate": "2011",
   "primary": false
  }
 ],
 "placesLived": [
  {
   "value": "Santa Fe, Argentina",
   "primary": true
  }
 ],
 "isPlusUser": true,
 "verified": false,
 "cover": {
  "layout": "banner",
  "coverPhoto": {
   "url": "https://lh3.googleusercontent.com/-DjGbmNDlV3U/UNCgpGJu_WI/AAAAAAAAD7Q/7Uk2WidwxnI/w940-h428/gdesummit.png",
   "height": 428,
   "width": 940
  },
  "coverInfo": {
   "topImageOffset": -83,
   "leftImageOffset": 0
  }
 }
}