【问题标题】:Use OAuth or Public Key API for private YouTube application?为私人 YouTube 应用程序使用 OAuth 或公钥 API?
【发布时间】:2014-01-11 02:38:40
【问题描述】:

我想使用 PHP 创建一个应用程序,该应用程序仅对我的 YouTube 帐户/频道进行身份验证,以创建播放列表、上传和播放设置为私有的视频/播放列表。目前,用户不会登录他们自己的 YouTube 帐户,我的应用程序也不会访问他们的信息。

我应该使用 OAuth 还是公钥 API?各自的优点和缺点是什么?

用户是否需要与 OAuth 交互?

如果应用程序位于共享托管 Web 服务器上(许多客户具有相同的 IP 地址),那么公钥会产生什么影响?

【问题讨论】:

    标签: php api oauth youtube


    【解决方案1】:

    公钥和 OAuth 都有用,但需要不同

    使用公钥,您可以只获取您可以在 Youtube 上正常访问而无需经过身份验证的公共信息,例如搜索、查看视频、获取有关用户/播放列表/视频的公共信息、阅读 cmets。

    如果您使用 OAuth,您将能够管理您的用户的帐户、播放列表、收藏的歌曲等。您仅限于您的用户接受的权限,例如在他的帐户上上传视频、发表评论等。所以,您可以使用公钥 + 用户授权的操作来做所有您被允许做的事情。但是要使用 OAuth,您必须将您的用户重定向到 youtube 的授权表单:

    然后,如果用户接受,您将有权使用您请求的权限执行您被允许执行的操作。

    这两种方法没有优点或缺点,只是取决于您的应用程序需要什么

    在您的情况下,如果您想上传视频和管理播放列表,您应该使用 OAuth 为您的帐户生成有效的 access_token 和 refresh_token。当您的 access_token 过期时,您可以生成一个新的,而不显示带有 refresh_token 的授权弹出窗口。

    【讨论】:

    • 我需要从 Google Analytics(分析)帐户获取数据(许多设备应该连接到一个帐户)。我可以使用公钥进行身份验证吗?
    • 看看:developers.google.com/analytics/devguides/reporting/core/v2/… 您需要使用 OAuth 获得授权才能从 Google Analytics 中检索数据。您可以使用oauth.io 来简化您与 Google 分析的联系方式
    • “在用户可以在 Google Analytics 网站上查看他们的帐户信息之前,他们必须先使用 Google 帐户登录。同样,当用户第一次访问您的应用程序,他们需要授权您的应用程序访问他们的数据。” @Thibaud,我认为 OAuth 不能用于授权许多用户从一个特定帐户获取数据。
    • 您有多种方法可以做到这一点:您可以 1)将多个用户添加到您的 Google Analytics 帐户(并且上面的评论有效),如果他们在 GA 中注册,他们将被授权检索从中得到的数据。或者 2) 你可以使用另一个 OAuth 流,一个使用 JWT 的服务器到服务器流来授权你的应用程序而不是你的用户,这里描述:developers.google.com/accounts/docs/OAuth2#serviceaccount。两者都可以,之后,这取决于您的需要。
    【解决方案2】:

    如果您想访问或修改任何私人数据,例如,您必须使用 OAuth。上传视频。

    毕竟,您是必须代表您的帐户授权远程访问的(一个)用户。

    API 密钥仅用于检索公共数据,在您的情况下不会让您走得太远。

    只要您使用指定的网址(例如“mydomain.net/myyoutubeapp”),共享托管网络服务器就不会出现任何问题。

    【讨论】:

    • 谢谢。我会试试的。从那里,我的服务器应用程序是否可以在没有用户干预的情况下代表我进行身份验证以继续执行命令?如果是这样,是否有任何 PHP 代码示例?
    猜你喜欢
    • 1970-01-01
    • 2023-04-03
    • 2011-01-12
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    相关资源
    最近更新 更多