我知道OAuth 2.0规范允许在请求或发出令牌时指定多个范围,但优步并不喜欢多个范围。
例如:
1)[无错误]
参数= {
'response_type': 'code',
'redirect_uri': 'INSERT_ROUTE_TO_STEP_TWO',
'scope': 'profile',
}
返回正确的令牌,我可以通过' https://api.uber.com/v1/me'
检索用户个人资料2)[错误]
参数= {
'response_type': 'code',
'redirect_uri': 'INSERT_ROUTE_TO_STEP_TWO',
'scope': 'profile%20history',
}
Uber返回"无效的请求参数"。我试过'范围':' profile%20history'和'范围':'个人资料历史记录'两种情况都会返回相同的错误。
我是使用https://github.com/twotoasters/AndrOAuth作为测试的Android开发人员。
由于
答案 0 :(得分:2)
Scope使用空格分隔符。
您应该将范围作为'scope': 'profile history'
传递,并让底层的http库处理URI转换,而不是自己明确地执行。
答案 1 :(得分:0)
我确定你现在已经知道了,但你使用空格来分隔你的范围参数和api调用逗号。