使用ruby google-api-client获取youtube视频数据

Cod*_*dii 3 ruby youtube-api google-api-client

你好 !

我已经看到了很多类似的问题,但无法弄清楚为什么它们都没有给出明确的答案.

我正在尝试使用google-api-client gem连接到youtube数据api,以从youtube视频链接中检索缩略图.我假设我不需要处理(模糊我)oAuth身份验证.

  • 第一步:我使用google api控制台创建项目,授权Youtube Data API.在"API访问"选项卡中,我选择"创建客户端ID ...",并选择"服务帐户"选项.

它给了我一个客户ID,电子邮件地址和公钥指纹.

  • 第二:我使用google-api-client gem创建我的ruby脚本.我只是复制/粘贴文档中的示例:

    要求'google/api_client'

    client = Google :: APIClient.new

从我的客户端对象我以为我可以直接调用client.execute()来获取我的所有视频信息的原子提要.但我只是想知道如何做到这一点.

也许我还得获得oAuth授权?要获得令牌?

我错过了什么?

非常感谢您的贡献.

Cod*_*dii 7

那不是那么难,我发现了怎么做.

在这种情况下,您无需处理oAuth身份验证.您需要生成服务器API密钥并在每个请求时发送它.

以下代码段有助于检索有关API提供的视频的所有信息.

require 'google/api_client'
require 'json'

client = Google::APIClient.new

youtube = client.discovered_api('youtube', 'v3')

client.authorization = nil

result = client.execute :key => "<YOUR_SERVER_API_KEY>", :api_method => youtube.videos.list, :parameters => {:id => '<YOUR_VIDEO_ID>', :part => 'snippet'}

result = JSON.parse(result.data.to_json)
Run Code Online (Sandbox Code Playgroud)