我必須在我的android應用程序中使用facebook和谷歌加號實現登錄。像下面的圖片一樣成功實現了facebook。 如何在Android中使用谷歌加號顯示浮動窗口標籤:android
但是,當我實現與谷歌簽署的,再加上它顯示像Google plus image link
請人幫我實現同樣喜歡Facebook的登錄在與谷歌加機器人。這樣用戶可以輸入任何他喜歡登錄Google的Gmail帳戶。
我必須在我的android應用程序中使用facebook和谷歌加號實現登錄。像下面的圖片一樣成功實現了facebook。 如何在Android中使用谷歌加號顯示浮動窗口標籤:android
但是,當我實現與谷歌簽署的,再加上它顯示像Google plus image link
請人幫我實現同樣喜歡Facebook的登錄在與谷歌加機器人。這樣用戶可以輸入任何他喜歡登錄Google的Gmail帳戶。
我使用的是SocialAuth庫,它支持許多社交網絡,包括Facebook
和Google+
。
注意:可以提供代碼示例,如果需要,以後如何使用此庫(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的認證請求」部分。
嘿,夥計,你的鏈接支持我很多,但你能告訴我如何改變客戶端ID和重定向庫文件中的URI。 – Srinivasan 2014-12-10 07:18:27
添加代碼示例,請檢查「更新」 – 2014-12-10 07:52:12
僅僅因爲你沒有使用該賬號設置加號配置文件,g +會顯示這樣的情況,否則它會直接顯示權限屏幕,無論如何它都會使用對話框(或對話框片段?)。當移動應用沒有安裝在設備上時,FB使用webview方法。 – Ayoub 2014-12-10 10:34:36