2013-12-22 32 views
3

我想创建一个使用PHP的应用程序,该应用程序仅对我的YouTube帐户/频道进行身份验证,以创建播放列表,上传和播放将设置为“私人”的视频/播放列表。目前,用户不会登录自己的YouTube帐户,我的应用程序将无法访问他们的信息。为私人YouTube应用使用OAuth或公钥API?

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

用户是否需要与OAuth交互?

如果应用程序位于共享托管Web服务器(具有相同IP地址的许多客户),公钥的含义是什么?

回答

1

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

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

API密钥只用于检索公共数据,并不会让你远离你的情况。

只要您使用指定的网址(例如'mydomain.net/myyoutubeapp),共享托管Web服务器上就不会有任何问题。

+0

谢谢。我会尝试。从那里,我的服务器应用程序可以在没有用户干预的情况下代表我进行身份验证,以便继续执行命令?如果是这样,是否有任何这样的PHP代码示例? – user3126155

2

公钥和OAuth都是有用的,但对于不同的需求

用公钥,可以只取你可以在Youtube上的未经验证的情况,例如搜索,查看视频正常访问的公共信息,让公众关于用户/播放列表/视频的信息,阅读评论。

如果您使用OAuth,您将能够管理您的用户帐户,播放列表,收藏夹歌曲等。您仅限于用户接受的权限,如在其帐户上传视频,发布评论等。 ,您可以完成所有您可以使用公钥+用户授权的操作执行的操作。但要使用OAuth,你有你的用户重定向到YouTube的授权形式:

enter image description here

,然后,如果用户接受,你就必须授予的访问做你允许什么与您要求的权限。

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

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

+0

我需要从Google Analytics帐户获取数据(许多设备应连接到一个帐户)。我可以使用公钥进行身份验证吗? – naXa

+0

查看:https://developers.google.com/analytics/devguides/reporting/core/v2/gdataAuthentication 您需要使用OAuth才能从Google Analytics检索数据。您可以使用https:// oauth。io以简化您与Google Analytics(分析)连接的方式 –

+0

“在用户可以在Google Analytics网站上查看**他们的**帐户信息之前,他们必须先使用Google帐户登录。同样,当用户首次访问应用程序,他们需要授权您的应用程序访问**他们的**数据。“ @Thibaud,我不认为OAuth可以用来授权许多用户从一个特定帐户获取数据。 – naXa