2014-07-20 148 views
1

我正在開發一個應用程序使用Xamarin.Android。谷歌身份驗證使用Xamarin.Auth

我需要啓用Facebook和谷歌登錄,我選擇使用Xamarin.Auth組件。 我得到它與Facebook的工作,但我有一些谷歌問題。

這是我的代碼:

 var auth = new OAuth2Authenticator (
      clientId: "myId.apps.googleusercontent.com", 
      clientSecret: "mysecred", 
      scope: "openid", 
      authorizeUrl: new Uri ("https://accounts.google.com/o/oauth2/auth"), 
      redirectUrl: new Uri ("myredirect:oob"), 
      accessTokenUrl: new Uri ("https://accounts.google.com/o/oauth2/token"), 
      getUsernameAsync: null 
     ); 

     activity.StartActivity (auth.GetUI (activity)); 

     auth.Completed += (sender, e) => { 
      Console.WriteLine (e.IsAuthenticated); 
     }; 

是這樣顯示谷歌的活動,我可以插入我的用戶名和密碼。但是,當我點擊谷歌的登錄按鈕,我得到這樣一個消息:

谷歌身份驗證,請驗證碼開關複製到您的應用程序,再貼上[代碼]

我有什麼做那個代碼?我只需要獲取用戶名/姓氏/電子郵件/ ID。

非常感謝!

+0

你有任何解決有關此問題 –

+0

@ user3471528,你得到的溶液F?或這 –

回答

3

波紋管的步驟爲我工作。

1.在谷歌開發人員控制檯中的註冊爲web應用程序而不是已安裝的應用程序(android)*提供與應用程序代碼中使用的有效網址(「http://abcd.com/xyz.aspx」)相同的重定向網址。

2.1936認證完成,將使用的access_token使REST請求來獲取用戶的完整信息返回的access_token

3.by(https://www.googleapis.com/oauth2/v1/userinfo?access_token=「+ accessTokenValue +「。)

4.Deserialize的JSON響應對象獲取信息

檢查源代碼:http://appliedcodelog.blogspot.in/2015/08/login-by-google-account-integration-for.html

+0

嗨Suchit,最近2天我試圖用你的代碼在Xamarin Android中進行Google Plus登錄。但我失敗了。我看了你的文章,Xamarin Form討論並嘗試每一件事但仍然面臨問題。請幫忙。 –

+0

在步驟3中:當我嘗試使用訪問令牌訪問用戶信息時,出現403錯誤響應。 JSON是這樣的:「code」:403, 「message」:「每日限制未經驗證的使用超過。繼續使用需要註冊。」 –

+0

我也嘗試製作新的客戶端ID,但它仍顯示相同的錯誤 –