2014-11-06 73 views
0

我想爲使用Azure移動服務及其身份驗證提供程序的Android應用程序添加身份驗證。我正在使用移動服務1.1.5 jar和我的Android項目目標API 19。無法使用谷歌Oauth與Android應用程序中的Azure移動服務

的方法,登錄(MobileServiceAuthenticationProvider,的JSONObject, UserAuthenticationCallback)是不明確的類型 MobileServiceClient

這是我的代碼

private void authenticate() { // Login using the Google provider. 

    ListenableFuture<MobileServiceUser> mLogin = mClient.login(null, null, null); 

    Futures.addCallback(mLogin, new FutureCallback<MobileServiceUser>() { 
     @Override 
     public void onFailure(Throwable exc) { 
      createAndShowDialog((Exception) exc, "Error"); 
     }   
     @Override 
     public void onSuccess(MobileServiceUser user) { 
      createAndShowDialog(String.format(
        "You are now logged in - %1$2s", 
        user.getUserId()), "Success"); 
      createTable(); 
     } 
    });  

    } 

回答

1

ListenableFuture重載在SDK 1.1.5中不可用。您將需要版本2.0.1測試版SDK。 Azure team blog提供了一個概述和下載此版本的鏈接。

此外,login()的新重載不需要三個參數。您將需要傳入提供程序,該提供程序可以是字符串,也可以是MobileServiceAuthenticationProvider對象。或者,您也可以傳遞一個令牌,它可以是字符串,也可以是JsonObject。

如果你的目標是使用谷歌的認證,我希望你會調用如下

ListenableFuture<MobileServiceUser> mLogin = mClient.login("google"); 

如果它是有用的,但source for the beta SDK可用。

或者,您可以繼續使用1.1.5 SDK,但如果您希望對結果採取措施,則可能需要提供UserAuthenticationCallback對象。這將是login()的一個附加可選參數。

相關問題