1

设想

我有一个 iOS 应用程序,它使用 Google API Objective-C 客户端库使用 OAuth2 身份验证上传到用户的 Youtube 帐户。

有一个更改请求上传到“主帐户”并避免任何用户登录。这个“主帐户”将是来自 iOS 应用程序的所有视频的集合。

问题 1

暂时搁置安全、配额和责任问题,这甚至可能吗?

似乎对于上传,需要进行身份验证,并且客户端库不支持 App Key 身份验证(或服务帐户)。

问题2

这是可以通过原始 http 请求完成的吗?如果这在技术上是不可能的,我宁愿不深入研究将该功能添加到 Google 客户端库。

笔记

我想直接致电 Google,并避免使用任何中间服务器。

4

1 回答 1

1

虽然这是可能的,但这是一种非常快速的失败方式。您必须以某种形式向客户端分发刷新令牌。这是一件非常糟糕的事情,因为有人可以很容易地提取此令牌并将其用于 DoS 您的配额。此外,如果有人这样做,您将不得不使刷新令牌无效并更新,这通常意味着应用程序更新(除非您有应用程序从第三方服务器下载刷新令牌,而这是您试图避免的)。通过原始 HTTP 或屏幕截图使用 API 时,您将遇到同样的问题,因为您需要分发您的电子邮件和密码 - 该帐户可能会被标记。

这忽略了配额方面的所有明显问题,人们上传不良视频并禁止您的帐户,以及所有这些好处。

我一般会避免这种方法,并在主帐户上使用播放列表,但如果你愿意冒险,你有两个选择:

  1. 创建中间服务器。该服务器负责获取访问令牌,并将其返回给客户端。客户端至少无法访问刷新令牌,但恶意客户端可以对访问令牌造成同样多的损害。
  2. 使用中间服务器存储视频,然后您可以将自己的速率限制作为附加层,以防止您的应用程序被恶意使用。
于 2013-07-03T20:10:12.393 回答