优步API:在请求发出令牌时指定多个范围返回无效的请求参数

时间:2014-08-23 00:16:54

标签: java oauth oauth-2.0

我知道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开发人员。

由于

2 个答案:

答案 0 :(得分:2)

Scope使用空格分隔符。

您应该将范围作为'scope': 'profile history'传递,并让底层的http库处理URI转换,而不是自己明确地执行。

答案 1 :(得分:0)

我确定你现在已经知道了,但你使用空格来分隔你的范围参数和api调用逗号。