5

我必須在我的android應用程序中使用facebook和谷歌加號實現登錄。像下面的圖片一樣成功實現了facebook。 enter image description here如何在Android中使用谷歌加號顯示浮動窗口標籤:android

但是,當我實現與谷歌簽署的,再加上它顯示像Google plus image link

請人幫我實現同樣喜歡Facebook的登錄在與谷歌加機器人。這樣用戶可以輸入任何他喜歡登錄Google的Gmail帳戶。

+0

僅僅因爲你沒有使用該賬號設置加號配置文件,g +會顯示這樣的情況,否則它會直接顯示權限屏幕,無論如何它都會使用對話框(或對話框片段?)。當移動應用沒有安裝在設備上時,FB使用webview方法。 – Ayoub 2014-12-10 10:34:36

回答

1

我使用的是SocialAuth庫,它支持許多社交網絡,包括FacebookGoogle+

注意:可以提供代碼示例,如果需要,以後如何使用此庫(Facebook,Google +)在相應的社交網絡中登錄。

更新:

1)客戶端的ID存儲在oauth_consumer.properties文件(把它放在assets文件夾)

#facebook 
graph.facebook.com.consumer_key = YOUR_KEY 
graph.facebook.com.consumer_secret = YOUR_SECRET 

#Google Plus 
googleapis.com.consumer_key=YOUR_KEY.apps.googleusercontent.com 
googleapis.com.consumer_secret=YOUR_SECRET 

2)Google+需要重定向的URL。在項目的Google控制檯中指定重定向網址,並在初始化期間將其添加到SocialAdapter中。

... 
socialAuthAdapter = new SocialAuthAdapter(new ResponseListener(), null); 
setAuthProviders(); 
... 

private void setAuthProviders() { 
    socialAuthAdapter.addProvider(SocialAuthAdapter.Provider.FACEBOOK, R.drawable.facbook); 
    socialAuthAdapter.addProvider(SocialAuthAdapter.Provider.GOOGLEPLUS, R.drawable.google); 
    socialAuthAdapter.addCallBack(SocialAuthAdapter.Provider.GOOGLEPLUS, GOOGLE_PLUS_CALLBACK_URL); 
    //urn:ietf:wg:oauth:2.0:oob - if you set this url, than accessToken received from social network should be handled manually (web page (in WebView) with login response from Google+ will contain in header or in response link accessToken, and you will get it manually by parsing that links). not the best way. 
    socialAuthAdapter.enable(social); 
} 

3)您將在ResponseListener得到的accessToken時登錄流程將完成:

private class ResponseListener implements DialogListener { 
    @Override 
    public void onComplete(Bundle bundle) { 
     final String providerName = bundle.getString(SocialAuthAdapter.PROVIDER); 
     SocialNetwork network = SocialNetwork.valueOf(providerName); 

     String accessToken = socialAuthAdapter.getCurrentProvider().getAccessGrant().getKey(); 
    } 

    @Override 
    public void onError(final SocialAuthError socialAuthError) { 
    } 

    @Override 
    public void onCancel() { 
    } 

    @Override 
    public void onBack() { 
    } 
} 

您可以閱讀更多有關重定向URL here,在「形成的URL的認證請求」部分。

+0

嘿,夥計,你的鏈接支持我很多,但你能告訴我如何改變客戶端ID和重定向庫文件中的URI。 – Srinivasan 2014-12-10 07:18:27

+0

添加代碼示例,請檢查「更新」 – 2014-12-10 07:52:12

相關問題