【问题标题】:Youtube : Multiple accounts authentication (OAuth) to upload video to single account/channelYoutube:多帐户身份验证(OAuth)将视频上传到单个帐户/频道
【发布时间】:2014-07-22 07:09:01
【问题描述】:

我正在将视频从 iOS 应用程序上传到 Youtube。

后续步骤:

  1. 已创建 Google 帐户并在开发者控制台中为该帐户启用 Youtube 数据 API。
  2. 已创建客户端 ID 和客户端密码并合并到应用程序中。
  3. 检查了 Google API objective C client 用于 Youtube 上传,这通常是一个 MAC 工具,我只是针对 iOS 进行了修改。
  4. 运行应用程序。
  5. 它将提示登录 (OAuth)。

案例#1

  • 使用同一帐户登录,用于创建客户 ID 和 客户端密码。
  • 接受范围并将授权人分配给 Youtube 服务。

GTMOAuth2ViewControllerTouch : completionHandler:^(GTMOAuth2ViewControllerTouch *viewController, GTMOAuth2Authentication *auth, NSError *error)
{

self.youTubeService.authorizer = 身份验证;

}

  • 开始上传,一切正常。

案例#2

  • 使用不同的帐户登录。
  • 接受范围并将授权人分配给 Youtube 服务。

GTMOAuth2ViewControllerTouch : completionHandler:^(GTMOAuth2ViewControllerTouch *viewController, GTMOAuth2Authentication *auth, NSError *error)
{

self.youTubeService.authorizer = 身份验证;

}

  • 开始上传并导致:错误域=com.google.GTLJSONRPCErrorDomain Code=-32602“操作无法完成。(未经授权)”UserInfo=0x986abe0 {error=Unauthorized, GTLStructuredError=GTLErrorObject 0x98528d0: {message: “未授权”代码:-32602 数据:1},NSLocalizedFailureReason=(Unauthorized)}

注意:如果我使用相同的帐户(用于创建客户端 ID 和密码)登录和上传,它工作正常并且视频正在 Youtube 中显示。 但每当尝试使用其他帐户上传时,即使在 Google API 目标 C 客户端应用程序中也会出现问题。

如果我错过任何其他需要考虑的情况,请告诉我。 谢谢。

【问题讨论】:

    标签: ios objective-c oauth-2.0 youtube-api unauthorized


    【解决方案1】:

    您可能做错了身份验证,或者用户可能没有有效的连接 YouTube 频道。 您可以查看YouTube Direct Lite for iOS project for the best example

    【讨论】:

    • OAuth 没有问题,它适用于主帐户。即使我也尝试过 yt-direct-lite-iOS。
    【解决方案2】:

    经过一天的搜索/测试,终于找到了原因。 我的 OAuth 流程没有任何问题。 原因是其他多个帐户(不是用于创建客户端 ID 和客户端密码的帐户)在 Youtube 中没有频道。

    解决方案: 如果用户帐户是 Youtube 的新用户,那么 youtube 将没有该帐户的频道。 用户需要创建一个(这很容易,YouTube本身会提醒您在选择左侧窗格的频道时创建新频道)

    如果用户账号有有效频道,则不会出现上述“Unauthorized”错误。

    【讨论】:

      猜你喜欢
      • 2012-09-25
      • 2020-07-13
      • 2011-05-14
      • 2021-07-29
      • 2015-10-02
      • 2013-10-27
      • 2021-01-25
      • 2016-08-22
      • 1970-01-01
      相关资源
      最近更新 更多