刷新谷歌访问令牌时未授权_客户端
Posted
技术标签:
【中文标题】刷新谷歌访问令牌时未授权_客户端【英文标题】:unauthorized_Client while refreshing google access token 【发布时间】:2015-08-01 19:58:03 【问题描述】:我想使用 curl 将 csv 文件上传到融合表。我使用开发者控制台创建了客户端 ID 和密码。然后我使用谷歌游乐场链接生成访问令牌。
使用生成的访问令牌,我可以成功地从 csv 文件导入融合表中的数据。
现在,问题是访问令牌在一段时间后过期,我必须使用刷新令牌获取新的访问令牌。我也想使用 curl 来执行此操作,但是在刷新访问令牌时出现“unauthorized_client”错误。
以下是我使用的命令。
在融合表中上传数据
curl -s -S --data-binary "INPUT_CSV_FILE" -H "授权:Bearer ACCESS_TOKEN_FROM_PLAYGROUNDLINK " -H "Content-Type: application/octet-stream" "https://www.googleapis.com/upload/fusiontables/v1/tables/FUSION_TABLE_ID/import"
刷新令牌
curl https://www.googleapis.com/oauth2/v3/token -d "grant_type=refresh_token&refresh_token=REFRESH_TOKEN(from playground)&client_id=CLIENT_ID&client_secret=CLIENT_SECRET" -X POST
【问题讨论】:
基于“未经授权的客户端”消息,我会尝试将-A "Mozilla"
添加到您的命令行中,在-d ..
之前,祝您好运。
谢天谢地,我已经找到了问题的解决方案。我在 Google Playground 中生成身份验证代码,但它没有使用我生成的客户端 ID。然后我用自己的http请求生成了验证码,如下accounts.google.com/o/oauth2/auth? redirect_uri=REDIRECT_URL& response_type=code& client_id=CLIENT_ID& scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Ffusiontables&approval_prompt=force& access_type=offline 并使用身份验证代码生成访问令牌并且它有效。希望这对其他人也有帮助。感谢#shellter 的帮助!
在下面发布您的解决方案作为答案。然后您可以在 48 小时(或类似的时间)后接受您自己的答案并获得声誉积分。选择文本后,使用编辑框左上方的
工具为其提供正确的“代码”格式。很高兴您找到了解决方案。祝你好运。
【参考方案1】:
我使用自己的 http 请求生成了如下身份验证代码 accounts.google.com/o/oauth2/auth? redirect_uri=REDIRECT_URL& response_type=code& client_id=CLIENT_ID& scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Ffusiontables&approval_prompt=force& access_type=offline 并使用身份验证代码生成访问令牌并成功了。 p>
【讨论】:
以上是关于刷新谷歌访问令牌时未授权_客户端的主要内容,如果未能解决你的问题,请参考以下文章
使用从客户端收到的谷歌授权码在服务器端 javascript (nodejs) 上获取访问令牌