【问题标题】:401 Token invalid - AuthSub token has wrong scope401 令牌无效 - AuthSub 令牌的范围错误
【发布时间】:2017-09-19 10:30:26
【问题描述】:

我有应用程序在响应,并从那里我正在验证谷歌用户 并返回access_token,然后我将该访问令牌传递给rails API。

现在在 Rails 方面,我正在使用来自获取 google 联系人的以下代码。

 contacts_josn = JSON.parse(open("https://www.google.com/m8/feeds/contacts/default/full?access_token="+params[:access_token]+"&alt=json").read)

但它返回我的错误

#<OpenURI::HTTPError: 401 Token invalid - AuthSub token has wrong scope>

更新: 建议的答案与我的问题不同,我使用的是 google 联系人 API。

任何建议将不胜感激:)

【问题讨论】:

标签: reactjs ruby-on-rails-5 google-contacts-api


【解决方案1】:

我解决了问题,这是 access_token 的范围问题

当我从 react 生成 access_token 时,我没有给出任何范围。并且从后端我使用该 access_token 来获取联系人

所以我做的是

反应中

<GoogleLogin
        className="pull-right btn btn-orange add-new-btn"
        clientId={process.env.REACT_APP_GOOGLE_CLIENT_ID}
        scope="email https://www.google.com/m8/feeds/"
        buttonText="Import google contacts"
        onSuccess={this.responseGoogle}
        onFailure={this.responseGoogle}
      >

添加范围email 用于电子邮件访问和https://www.google.com/m8/feeds/ 用于管理联系人。

在 Rails 方面

contacts_josn = JSON.parse(open("https://www.google.com/m8/feeds/contacts/default/full?max-results=50&alt=json", "Authorization" =>  "Bearer #{params[:access_token]}", "GData-Version" => "3.0").read)

现在这将返回联系人列表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    • 2011-11-27
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    相关资源
    最近更新 更多