如何授权使用 google-api-ruby-client

发布于 2024-12-05 18:37:42 字数 62 浏览 0 评论 0原文

我正在使用 google api for ruby​​,但不知道如何开始,请给我一个 ABC 示例,非常感谢?

i am using google api for ruby, but not know how to start, just give me an ABC example someone, thanks very much?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

守护在此方 2024-12-12 18:37:42

如果您正在创建服务帐户应用程序来访问 Google Analytics。

  1. 通过 https://code.google.com/apis/console 向 Google 注册。
    在 API 访问选项卡上,单击创建客户端 ID,选择服务帐户。存储 Google 将生成的密钥文件,并记住该密钥的密码。
  2. 这里有一些代码可以帮助您入门

    需要“rubygems”
    需要“google/api_client”
    
    api_client = Google::APIClient.new
    path_to_key_file =“/path/to/key/file-privatekey.p12”
    密码=“google_ generated_pa​​ssword”
    key = Google::APIClient::PKCS12.load_key(key_file 路径,密码)
    

一旦密钥可用,请使用您的客户端 ID(API 控制台中的电子邮件)初始化断言器
及授权范围。

asserter = Google::APIClient::JWTAsserter.new(
   'super_long_client_id_from_api_console@developer.gserviceaccount.com',
   'https://www.googleapis.com/auth/analytics.readonly',
   key)

# To request an access token, call authorize:
api_client.authorization = asserter.authorize()
puts api_client.authorization.access_token

http://code.google.com/p/google-api -ruby-client/wiki/ServiceAccounts

If you are creating a Service Account application to access Google Analytics.

  1. Register it with Google through https://code.google.com/apis/console.
    On API Access tab, click Create client ID, choose Service Account. Store the key file Google will generate, and remember the password for that key.
  2. Here is some code to get you started

    require 'rubygems'
    require 'google/api_client'
    
    api_client = Google::APIClient.new
    path_to_key_file ="/path/to/key/file-privatekey.p12"
    passphrase = "google_generated_password"
    key = Google::APIClient::PKCS12.load_key(path_to_key_file, passphrase)
    

Once a key is available, initialize the asserter with your client ID (email in APIs console)
and authorization scopes.

asserter = Google::APIClient::JWTAsserter.new(
   'super_long_client_id_from_api_console@developer.gserviceaccount.com',
   'https://www.googleapis.com/auth/analytics.readonly',
   key)

# To request an access token, call authorize:
api_client.authorization = asserter.authorize()
puts api_client.authorization.access_token

http://code.google.com/p/google-api-ruby-client/wiki/ServiceAccounts

南汐寒笙箫 2024-12-12 18:37:42

我在其他几篇帖子中回答了类似的问题,我发现这些帖子就像这样......所以如果它相关,对于 ruby​​,使用 google-api-client (对于任何 google api),有一些 ins当使用 api 密钥而不是 OAuth 时,需要进行身份验证...

我已在 代码地址

在构建客户端时,您必须显式地将authorzation参数设置为nil,否则gem会尝试使用OAuth进行身份验证,因此如果仅使用api密钥从服务器调用,您将始终得到401 Unauthorized。

代码所在地 - google-api-client对于红宝石

I've answered something similar in a couple of other posts I found that were like this one... so incase its relevant, for ruby, using the google-api-client (for any of the google apis), there's a few ins and outs with authentication when using an api key as opposed to OAuth...

I've outlined this process (using an api key server side) at the code abode.

You have to explicitly set the authorzation param to nil when constructing the client, otherwise the gem tries to use OAuth to authenticate, so if calling from a server using an api key only, you will always get a 401 Unauthorized.

the code abode - google-api-client for ruby

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文