英文:
Unable to perform Uber login programmatically
问题
我正在尝试集成Uber SDK到我的应用程序,并遵循他们的说明。
- 在他们的开发者仪表板中注册了我的应用程序,使用了应用程序签名、客户端ID、客户端签名和重定向URI。
- 实例化了他们的LoginManager类,并调用了登录方法。
当我在Android Studio的模拟器中运行应用程序时,它卡在了:
https://login.uber.com
当我在实际设备上运行时,我从Uber收到了错误消息:
无法连接
并且要求我稍后重试。
导致登录的我的代码片段:
SessionConfiguration config = new SessionConfiguration.Builder()
// 这是必需的
.setClientId("用于共享的已删除")
.setClientSecret("用于共享的已删除")
// 如果您将使用隐式授权,则这是必需的
.setRedirectUri("用于共享的已删除")
// 在此处添加身份验证的范围
.setScopes(Arrays.asList(Scope.PROFILE, Scope.RIDE_WIDGETS))
.build();
UberSdk.initialize(config);
LoginCallback loginCallback = new LoginCallback() {
@Override
public void onLoginCancel() {
// 用户取消了登录
System.out.println("用户取消登录");
}
@Override
public void onLoginError(@NonNull AuthenticationError error) {
// 登录过程中出现错误
System.out.println("用户登录错误");
}
@Override
public void onLoginSuccess(@NonNull AccessToken accessToken) {
// 登录成功!AccessToken已经被保存。
System.out.println("登录成功!");
}
@Override
public void onAuthorizationCodeReceived(@NonNull String authCode) {
System.out.println("收到授权代码");
}
};
AccessTokenStorage accessTokenStorage = new AccessTokenManager(this);
loginManager = new LoginManager(accessTokenStorage, loginCallback);
loginManager.login(this);
请帮忙解决。
英文:
I am trying to integrate my app using Uber SDK and I followed their instructions.
- Registered my app in their developer dashboard with app signature, Client Id, Client Signature and Redirect URI
- Instantiated their LoginManager class and am calling the login method.
When I run the app in simulator in Android studio, it gets stuck at:
https://login.uber.com
When I run it on my actual device, I get the error from Uber:
Unable to Connect
and it asks me to try again later.
My code snippet leading to log in:
SessionConfiguration config = new SessionConfiguration.Builder()
// This is necessary
.setClientId("removed for sharing")
.setClientSecret("removed for sharing")
// This is necessary if you'll be using implicit grant
.setRedirectUri("removed for sharing")
// Your scopes for authentication here
.setScopes(Arrays.asList(Scope.PROFILE, Scope.RIDE_WIDGETS))
.build();
UberSdk.initialize(config);
LoginCallback loginCallback = new LoginCallback() {
@Override
public void onLoginCancel() {
// User canceled login
System.out.println("User Cancelled login");
}
@Override
public void onLoginError(@NonNull AuthenticationError error) {
// Error occurred during login
System.out.println("User login error");
}
@Override
public void onLoginSuccess(@NonNull AccessToken accessToken) {
// Successful login! The AccessToken will have already been saved.
System.out.println("Login success!");
}
@Override
public void onAuthorizationCodeReceived(@NonNull String authCode) {
System.out.println("Auth code received");
}
};
AccessTokenStorage accessTokenStorage = new AccessTokenManager(this);
loginManager = new LoginManager(accessTokenStorage, loginCallback);
loginManager.login(this);
Please help.
专注分享java语言的经验与见解,让所有开发者获益!
评论