我们正在开发一款应该从Moves app API获取数据的应用。
在手机上授权我们的应用时,我们设法成功地将桌面链接提供的PIN提交到移动应用中:
https://api.moves-app.com/oauth/v1/authorize?response_type=code&client_id=<client_id>&scope=<scope>&state=<state>
如果我使用移动网站/应用链接,这将无效:
moves://app/authorize?client_id=<client_id>&scope=activity%20location&state=<state>&redirect_uri=<redirect_uri>
注意:<redirect_uri>==encodeURIComponent("mymovesconnector:8081/callback")
。
我们从Moves API获得的响应为400:{"error":"invalid_grant"}
。
从docs开始,它表示invalid_grant
可能会发生:
我的核对清单:
moves://
提供的代码与https://
请求提供的代码有何不同?为什么?我对此有何控制权?无法弄清楚我错过了什么。一步一步地通过文档多次。没有成功。
答案 0 :(得分:0)
在写下我的问题时,我设法找到了解决这个问题的方法。
文档未指出response_type=code
也可能用于moves://
链接。我试图添加这个参数,它有效!
注意:这只在虚拟Android设备上测试过(Genymotion)。