未能生成Uber oauth Token UnauthorizedException

时间:2018-02-23 22:39:33

标签: android oauth-2.0 uber-api

我正在使用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中运行良好。我觉得我必须遗漏一些明显的东西。其他人遇到这个问题?

1 个答案:

答案 0 :(得分:0)

令牌api无法将我的电话号码识别为有效的登录参数。当我使用我的电子邮件时它起作用了。