iOS Youtube API v3检索我的频道

时间:2016-06-10 15:32:40

标签: ios swift swift2 youtube-data-api

[IOS SWIFT]

我对youtube api v3有疑问,我真的遇到了死胡同

所以,在我的应用程序中,我实现了最新的GoogleSign-In

let newScope: Array =
        ["https://www.googleapis.com/auth/youtube",
         "https://www.googleapis.com/auth/youtube.force-ssl",
         "https://www.googleapis.com/auth/youtube.readonly"]
GIDSignIn.sharedInstance().scopes = newScope

这显示了我如何添加新范围。

我成功登录了用户并检索了用户ID,它的数据,access_token等。

现在用户已登录,我需要获取他的youtubeId / channelId。

我做了一些调查,发现我可以使用https://www.googleapis.com/youtube/v3/channels?part=id&mine=true&key={API_KEY_HERE}

获取我的频道ID

我甚至尝试在url中发送access_token,但没有运气..

但是出了点问题,我获得了401状态代码 -

  

请求使用mine参数,但不正确   授权。

我做错了什么?

我在这里测试过,一切正常:https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list

结果在沙箱中:

{
 "kind": "youtube#channelListResponse",
 "etag": "\"XXXXXXX\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 1
 },
 "items": [
  {
   "kind": "youtube#channel",
   "etag": "\"XXXXX\"",
   "id": "XXXXX",
   "googlePlusUserId": "ID_ID_ID"
   }
  }
 ]
}

有人有想法吗?解?提案? 非常感谢

事实上,如果我成功签署了自己,为什么我没有获得授权?

甚至尝试添加标题进行授权:

Bearer {id_access_token}

1 个答案:

答案 0 :(得分:0)

我终于找到了解决方案。

是的,需要发送标头。唯一的问题是令牌!

当signIn成功时,你得到

GIDGoogleUser

实例。

那 - 我们称之为“用户”,拥有.authentication with userID,idToken和accessToken

在文档中只提到了idToken,所以我认为这实际上是访问令牌。我真傻:/

经验教训!