Java Uber API:请求或发出令牌时指定多个作用域返回无效的请求参数
我知道OAuth 2.0规范允许在请求或发出令牌时指定多个作用域,但Uber不喜欢多个作用域 例如: 1)[无错误] 参数={Java Uber API:请求或发出令牌时指定多个作用域返回无效的请求参数,java,oauth,oauth-2.0,Java,Oauth,Oauth 2.0,我知道OAuth 2.0规范允许在请求或发出令牌时指定多个作用域,但Uber不喜欢多个作用域 例如: 1)[无错误] 参数={ 'response_type': 'code', 'redirect_uri': 'INSERT_ROUTE_TO_STEP_TWO', 'scope': 'profile', 'response_type': 'code', 'redirect_uri': 'INSERT_ROUTE_TO_STEP_TWO', 'scope': 'profile%20history
'response_type': 'code',
'redirect_uri': 'INSERT_ROUTE_TO_STEP_TWO',
'scope': 'profile',
'response_type': 'code',
'redirect_uri': 'INSERT_ROUTE_TO_STEP_TWO',
'scope': 'profile%20history',
}
返回正确的令牌,我可以通过“”检索用户配置文件
2)[错误]
参数={
'response_type': 'code',
'redirect_uri': 'INSERT_ROUTE_TO_STEP_TWO',
'scope': 'profile',
'response_type': 'code',
'redirect_uri': 'INSERT_ROUTE_TO_STEP_TWO',
'scope': 'profile%20history',
}
Uber返回“无效的请求参数”。我尝试了“范围”:“配置文件%20history”和“范围”:“配置文件历史”。这两种情况都返回相同的错误
我是一名Android开发人员,将其用作测试
谢谢我相信您现在已经解决了这个问题,但是您正在使用一个空格来分隔范围参数,并且api调用了逗号 作用域使用空格分隔符 您应该将作用域作为
'scope':'profile history'
传递,并让底层http库处理URI转换,而不是自己显式地进行转换