iOS 第三方登錄(Facebook,Twitter...)

文章將從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論壇上的

滾動到最下面,選擇Documentation

選擇my apps
點擊創(chuàng)建新的應(yīng)用

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

返回的URL路徑
讀寫信息
獲得appid和key

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

注意點:記得要添加平臺信息。add platform選項

facebook注冊應(yīng)用

填寫信息

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

注冊后,記得要將這個選項選yes

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

注冊APP

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

填寫注冊信息

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

permissions

先來解釋下圖中需填的信息,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

配置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,今天的介紹就到這里,還有什么不明白或者建議也可以留言。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,835評論 2 45
  • 官方網(wǎng)址: http://dev.umeng.com/social/ios/operation#2 一、注冊友盟賬...
    PerhapYs閱讀 13,102評論 7 44
  • 一個個光艷欲滴的鮮活葡萄, 我想把它放在水中浸下再吃, 一個電話讓我忘卻了這件事 待拿起杯, 那水中浸泡太久的葡萄...
    晏萍閱讀 436評論 58 46
  • 故事該怎樣畫上句號: ? 吹起如詩般破碎的流年,世俗的快樂和幸福在風(fēng)里,在我眼前汩汩而過,青春只是必將散去的過往...
    等河西閱讀 658評論 0 2
  • 01 幾個月前,崔叔叔走了,以我媽媽薛甄珠的名義給我和子群留下了一筆遺產(chǎn)。我們沒有動那筆錢,子群的餛飩店生意還算過...
    Bee先生閱讀 1,086評論 0 4

友情鏈接更多精彩內(nèi)容