文章將從Facebook,Twitter,Instagram,微博,qq 5個平臺進(jìn)行第三方登錄的細(xì)節(jié)。微信登錄比較坑,要使用它必須要進(jìn)行一系列的認(rèn)證(給錢)。Instagram更坑,沙盒機(jī)制僅供調(diào)試,正式使用拍攝視頻進(jìn)行流程操作。
step 1.
無論是要做登錄,還是要做分享。都需要在各個平臺上注冊自己應(yīng)用,獲取appkey和appid。
微博:按流程填寫應(yīng)用信息就好了(是最簡便的平臺,少坑,我喜歡)。
qq:填寫完資料后,需要等待一天來通過驗證。
微信:填寫完應(yīng)用信息,交300塊,兩個小時內(nèi)搞掂
Twitter:點擊下面對應(yīng)鏈接,懵逼了吧,英文看不懂吧!
下面圖片是引用shareSDK論壇上的



千萬別填百度,不是因為我是百度黑,因為寫了百度會讓你的應(yīng)用永遠(yuǎn)留在百度永世不得輪回推薦一個URL,http://codegerms.com/callback,當(dāng)然你也可以用http://, 或者自定義的URL Schemes。自定義URL Schemes將在文章末尾介紹。



Facebook:首先你應(yīng)該登錄Facebook,然后打開下面鏈接。如果你找不到注冊app的入口,請注意右上角(未登錄時會顯示藍(lán)色的regist不會英文的同學(xué)注意了)
注意點:記得要添加平臺信息。add platform選項


注冊后,記得要將這個選項選yes,不然會提示權(quán)限為不公開,導(dǎo)致登錄失敗

This app is still in development mode, and you don't have access to it. Switch to a registered test user or ask an app admin for permissions.
如果你還遇到這種情況,可以參考
http://stackoverflow.com/questions/30085246/app-not-setup-this-app-is-still-in-development-mode
instagram:
點擊注冊新的APP

下面的都要填寫哦,然而如果你對privacy policy URL 這個選項的確沒有什么想法的話,也可以填和website URL一樣的地址。

填寫完注冊信息后,你會發(fā)覺使用appid和appkey配置好程序后,使用自己的賬號已經(jīng)可以第三方登錄了。然而如果你在試試其他的賬號,你會發(fā)覺ins會提示你說你應(yīng)該使用sandbox賬號來登錄,其他賬號并沒有訪問權(quán)限。

先來解釋下圖中需填的信息,security要填寫回調(diào)地址,sandbox用于填寫用于測試的沙盒用戶(限制最多50個),permission用于申請所有人都可登錄的權(quán)限。所以最終你還是需要提交permission的申請(最坑的一個環(huán)節(jié))。
各個平臺注冊應(yīng)用信息的地址如下:
新浪微博 http://open.weibo.com
騰訊微博 http://dev.t.qq.com
QQ空間 http://connect.qq.com/intro/login/
微信好友 http://open.weixin.qq.com
Facebook https://developers.facebook.com
Twitter https://dev.twitter.com
人人網(wǎng) http://dev.renren.com
開心網(wǎng) http://open.kaixin001.com
搜狐微博 http://open.t.sohu.com
網(wǎng)易微博 http://open.t.163.com
豆瓣 http://developers.douban.com
有道云筆記 http://note.youdao.com/open/developguide.html#app
印象筆記 https://dev.evernote.com/
Linkedin https://www.linkedin.com/secure/developer?newapp=
FourSquare https://developer.foursquare.com/
搜狐隨身看 https://open.sohu.com/
Flickr http://www.flickr.com/services/
Pinterest http://developers.pinterest.com/
Tumblr http://www.tumblr.com/developers
Dropbox https://www.dropbox.com/developers
Instagram http://instagram.com/developer#
VKontakte http://vk.com/dev
step.2 代碼配置部分
我用的是shareSDK的庫,其實如果你不想用,也是可以的,只要到各個平臺上下載demo,就可以迅速搞好。
初始化sdk。
[ShareSDK registerApp:@"iosv1101"
activePlatforms:@[@(SSDKPlatformTypeInstagram)]
onImport:nil
onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo) {
switch (platformType)
{
case SSDKPlatformTypeInstagram:
[appInfo SSDKSetupInstagramByClientID:@"你的aped" clientSecret:@"appkey" redirectUri:@"http://codegerms.com/callback"];
break;
default:
break;
}
}];
用戶授權(quán)并獲取用戶信息
[ShareSDK getUserInfo:btn.tag onStateChanged:^(SSDKResponseState state, SSDKUser *user, NSError *error) {
if (user) {
if (btn.tag == SSDKPlatformTypeTwitter) {
//user為用戶信息
}
}
}];
配置URL Schemes

配置URL schemes很重要,你的用戶授權(quán)后能不能跳轉(zhuǎn)回來就要靠它了。如果你用到了sso授權(quán)模式,需要配置 平臺+appid的URL schemes 如 fb123123123123, wb123123123123
第二個紅框中的URL schemes有什么用呢?其實這個就是自定義的URL schemes,例如說你設(shè)置的是sharemyapp,那么你在手機(jī)上的瀏覽器的網(wǎng)址上寫 ** sharemyapp:// ** 那么就會從瀏覽器跳轉(zhuǎn)到你自己的APP。
對于URL schemes請點下面鏈接
http://www.cocoachina.com/industry/20140522/8514.html
ps:補(bǔ)充,為了更容易地獲取Facebook用戶頭像,我在這里提供以下方法。
獲取頭像大圖:
http://graph.facebook.com/Facebook的用戶id/picture?type=large
根據(jù)設(shè)定的width和height來返回圖片
http://graph.facebook.com/Facebook的用戶id/picture?width=400&height=400
更多獲取Facebook頭像大小請參考:http://www.cnblogs.com/liminjun88/archive/2013/03/01/2938769.html
ok,今天的介紹就到這里,還有什么不明白或者建議也可以留言。