我在react中有应用程序,从那里我认证谷歌用户并返回access_token,我将访问令牌传递给rails API。
现在,在rails方面,我使用的代码来自get 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>更新:建议的答案与我的问题不同,我使用的是谷歌联系人API。
(如有任何建议,将不胜感激:)
发布于 2017-09-19 12:42:15
我解决了问题,这是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/。
钢轨侧
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)现在这将返回联系人列表。
https://stackoverflow.com/questions/46298152
复制相似问题