我正在使用oauth2-essentials库,因为它是uber开发者网站上推荐的oauth库之一,并且最近已更新。 我的代码如下所示:
executor = new HttpUrlConnectionExecutor();
OAuth2AuthorizationProvider provider = new BasicOAuth2AuthorizationProvider(
URI.create("https://login.uber.com/oauth/v2/authorize"),
URI.create("https://login.uber.com/oauth/v2/token"),
new Duration(1,0,3600) /* default expiration time in case the server doesn't return any */);
OAuth2ClientCredentials credentials = new BasicOAuth2ClientCredentials(
getString(R.string.uberClientId), getString(R.string.uberSecret));
uberOAuthClient = new BasicOAuth2Client(
provider,
credentials,
new LazyUri(new Precoded("my redirect url")) /* Redirect URL */);
generateUberOAuthToken("my phone number", "my password");
}
public void generateUberOAuthToken(final String uName, final String password){
new Thread() {
public void run() {
try {
uberOAuthToken = new ResourceOwnerPasswordGrant(
uberOAuthClient, new BasicScope("profile"), uName, password).accessToken(executor);
}
catch (Exception e){
e.printStackTrace();
}
}
}.start();
}
异常:org.dmfs.httpessentials.exceptions.UnauthorizedException:“https://login.uber.com/oauth/v2/token”身份验证失败。总是被抛出。我已经尝试删除重定向网址,因此它应该使用我的信息中心的默认值,并且我已尝试在电话号码中添加1和/或破折号。当我请求访问令牌时,总是抛出异常。我知道我的帐户设置正确,因为这在iOS中运行良好。我觉得我必须遗漏一些明显的东西。其他人遇到这个问题?
答案 0 :(得分:0)
令牌api无法将我的电话号码识别为有效的登录参数。当我使用我的电子邮件时它起作用了。