401 令牌无效 - AuthSub 令牌范围错误

401 Token invalid - AuthSub token has wrong scope

我有应用程序反应,我从那里验证 google 用户 并返回 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。

任何建议将不胜感激:)

我解决了问题,这是 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)

现在这将 return 联系人列表。