gpt4 book ai didi

ruby-on-rails - 使用 Google API 客户端,如何创建客户端

转载 作者:数据小太阳 更新时间:2023-10-29 06:39:23 24 4
gpt4 key购买 nike

我正在努力使用 Google API 客户端:https://github.com/google/google-api-ruby-client

具体来说,我想使用以下 google_contacts_api.rb 通过 Google API 客户端访问 Google 通讯录:https://gist.github.com/lightman76/2357338dcca65fd390e2

我正在尝试像这样使用 google_contacts_api.rb(x 是有意的,实际上是正确的键):

require './lib/google_contacts_api.rb'
auth = User.first.authentications.first
client = OAuth2::Client.new('x', 'x', :site => 'https://accounts.google.com')
oauth2_object = OAuth2::AccessToken.new(client, auth.token)
x = ContactList::GoogleContactsApi.new(client, oauth2_object).all_contacts

undefined methodget' for # 是错误的 你是说吗? gem `

我认为问题是我没有正确发送 client,而且我一直找不到任何说明如何创建 client 的文档或示例。我怎样才能让它工作?

最佳答案

Note : As getting a contacts list usually requires a user's authentication to read private data, in the example below I assume that you've already implemented Oauth2 authentication with a sufficient scope and you got a valid ’token’ from that first step.

很多过时/令人困惑的在线文档,因为 API 的身份验证和 API 本身已经升级了很多次。对我来说最有用的文档是 http://www.rubydoc.info/github/google/google-api-ruby-client/ 上的文档。

gem 'google-api-client' 仍处于 alpha 阶段并且发展速度非常快,经过大量的努力,我已经能够使用对 Youtube、Gmail 和 Analytics APIS 的经过身份验证的调用。我希望 Contacts API 也能正常工作。

Google API Ruby 客户端包含管理 API 身份验证和请求授权子服务 API 所需的一切。无需与 Hurley、Signet 或其他 HTTP/Rest 客户端纠缠不清。

#Gemfile
gem 'google-api-client'


#Class file
require 'google/api_client/client_secrets.rb' #Manage global google authentication
require 'google/apis/youtube_v3' #To be replaced with the proper Contact API

access = {...} #Credentials object returned by your Oauth strategy (gem 'omniauth-google-oauth2' works like a charm)
secrets = Google::APIClient::ClientSecrets.new({
"web" => {"access_token" => access['token'],
"refresh_token" => access['refresh_token'],
"client_id" => "xxxxxxxx.apps.googleusercontent.com",
"client_secret" => "xxxxxxxxxxxx"}})

client = Google::Apis::YoutubeV3::YouTubeService.new #As per the require line, update it with you service API
client.authorization = secrets.to_authorization
client.authorization.refresh!

到目前为止,client 变量是一个授权的并准备好查询的对象,我像这样使用它来搜索 Youtube 内容

client.list_searches('snippet', q: 'xxxxxx', type: 'channel'){ |res, err|

关于ruby-on-rails - 使用 Google API 客户端,如何创建客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42408025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com