gpt4 book ai didi

ruby-on-rails - 使用 Signet 的 Google API,SSL 错误

转载 作者:行者123 更新时间:2023-12-04 22:38:07 24 4
gpt4 key购买 nike

我正在制作一个 Ruby On Rails 应用程序,并尝试使用 Google Plus API 进行用户登录。为此,我使用 Signet OAuth 帮助程序库。我在看this代码作为带有 Google API 的 Signet 的示例。

这是我的代码:

require "signet/oauth_2/client"
require "google/api_client"


oathClient = Signet::OAuth2::Client.new(
:authorization_uri => "https://accounts.google.com/o/oauth2/auth",
:token_credential_uri => "https://accounts.google.com/o/oauth2/token",
:client_id => Rails.application.secrets.gapi_client_id,
:client_secret => Rails.application.secrets.gapi_client_secret,
:redirect_uri => Rails.application.secrets.gapi_redirect_uri,
:scope => "https://www.googleapis.com/auth/plus.login")

gapi_client = Google::APIClient.new(
:application_name => "Branches",
:application_version => "0.0.1")

oathClient.code = request.body.read
oathClient.fetch_access_token!#Error on this line
gapi_client.authorization = oathClient

倒数第二行出现错误:
oathClient.fetch_access_token!

这是错误:
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

我做了一些研究,看起来这是由于缺少证书信息造成的。然而,在处理 Signet 时,所显示的解决方案均未解决此问题。

操作系统:Windows 8 x64
RoR 版本:4.1.1
印章版本:0.5.1
谷歌 API 客户端版本:0.6.2

最佳答案

看起来与 https://github.com/googleapis/google-api-ruby-client/issues/235 相关,解决方案是:

  • 更新 openssl
  • 如果您使用自定义 .pem文件,设置为:export SSL_CERT_FILE=/path/to/custom/certificate/authority.pem
  • 关于ruby-on-rails - 使用 Signet 的 Google API,SSL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24946802/

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