开始使用YouTube Analytics API?

时间:2014-02-20 02:54:07

标签: php api youtube youtube-api youtube-analytics

如何将某人的YouTube帐户“链接”到我网站上的帐户?我正在尝试从视频中获取Google Analytics,他们赚了多少钱等等。我知道我应该使用YouTube Analytics API,但我看到了大量不同的文档,这让人很困惑。我是否可以使用任何PHP库来获取此数据并将用户的帐户链接到我的Web应用程序?我也对我获得OAuth密钥的位置感到困惑。

以下是我看过的一些网站:

1)Site One

2)Site Two

在第二站,我查看了这些示例,但没有什么能帮助我理解如何开始。

1 个答案:

答案 0 :(得分:1)

您可以在本文档中找到许多相关信息:

https://developers.google.com/youtube/analytics/authentication

基本上,它概述了以下4个步骤:

1)在Google云端控制台中注册您的网络应用

这是必需的,这样您就可以获得客户机密码和客户机ID,这是您的服务器端PHP代码为了执行oAuth流程所需要的(并获得正确的范围,以便能够为用户查询分析数据)认证)。有关如何执行此操作的详细信息,请参阅此处:

https://developers.google.com/youtube/analytics/registering_an_application

注册您的应用时,最重要的事情是打开YouTube Analytics API并为您的网络应用程序创建新的客户端ID。

2)当用户访问您的页面时,您需要某种方式(例如,登录按钮)来触发oAuth流的开始。触发此操作后,您需要将浏览器重定向到此URL:

https://accounts.google.com/o/oauth2/auth?client_id= [您的客户ID]& redirect_uri = [您希望用户在认证后指示的网址]& scope = {{ 3}}

这将为他们提供一个窗口,询问他们是否要授权您的应用阅读他们的分析。请注意,客户端ID参数与您在步骤1中注册应用时收到的参数相同。注册过程还需要您设置允许的重定向URI,因此您必须在注册中设置一个。

3)Google的服务器将在第二步请求重定向网址,并附加“code”参数。因此,当它被请求时,它应该立即对另一个URL(即使用cURL或类似的东西)进行POST,如下所示:

POST / o / oauth2 / token HTTP / 1.1 主持人:accounts.google.com 内容类型:application / x-www-form-urlencoded

code = [作为参与者参与的代码]& client_id = [您的客户ID]& client_secret = [您的客户秘密]& redirect_uri = [注册重定向URI]& grant_type = authorization_code

如果你使用cURL作为POST,那么响应将是一个具有访问令牌和刷新令牌的JSON数据包。

4)您的php页面可以存储这两者(例如,在您的数据库中),请注意此时应该将用户视为已登录,并且您可以在所有API请求的标头中使用访问令牌发送到分析API。

https://www.googleapis.com/auth/yt-analytics.readonly&response_type=code&access_type=offline

IT将在一小时后到期,因此对于每个请求,您应该检查其年龄(例如,当您将其存储在数据库中时,您可以存储到期时间,例如),当您接近时可以使用刷新令牌获取新的访问令牌。

https://developers.google.com/youtube/analytics/authentication#OAuth2_Calling_a_Google_API

现在,您可以将它们重定向到应用程序需要它们开始与API连接的任何位置。

似乎很多?它可以,但是一旦你得到范例,它就很简单了。你询问了PHP的客户端,谢天谢地,有一个:

https://developers.google.com/youtube/analytics/authentication#OAuth2_Refreshing_a_Token

整个oAuth2流程都有简单的处理程序,并且还有一个YouTube分析服务对象,可以在进行各种调用时自动为您设置访问令牌。