[Facebook] 如何建立facebook App 且取得FB ID

转载 2015年07月09日 17:41:43

這裡將會紀錄如何建立一個Facebook App,並且讓User授權應用程式,最後取得FB ID來當會員資料或是參加活動的ID識別

首先,你必須是個Facebook App Developers,你可以去facebook DEVELOPER申請你的身份,我記得以前不用手機驗證,但現在則需要

接著你會看到以下畫面


點選右上角的Create New App

會跳出一個POP視窗


App Name:指的是你的應用程式名稱

App Namespace:是你的網址命名

Web Hosting:如果你有自己的Web Hosting就不用勾選

按下Continue以後會出現填寫驗證碼,填寫完後按下Submit



然後就會看到建立好的App一些資訊和設定


因為雖然是寫Facebook App,但其實Facebook只是提供你API和外框包住你的網頁,所以你還要提供你的網頁所在位置給Facebook


要注意的是Facebook要求使用加密的https,所以如果你如果沒有的話,可能要花錢購買這方面的憑證

到這邊為止,已經建立好初步的Facebook App了

使用JavaScript API做授權

有了App以後,我們要跟網頁串起來,因為我是.NET開發者,所以我會先建立一個index.aspx,接著一般我都會在<form id="form1" runat="server"></form>的後面加上

<div id="fb-root"></div>
<script type="text/javascript" src="https://connect.facebook.net/zh_TW/all.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>

注意,如果沒有fb-root的div會導致不能使用Facebook API,另外我還多用了Jquery來方便等一下寫js程式碼

接下來新增一個div做為點選授權

 <div id="btn">點我授權</div>

接著是js初始化部分

$(function () {

        var _app_id = 'Your App ID';
        var _api_key = '';
        //驗證
        FB.init({
            appId: _app_id,
            status: true, // check login status
            cookie: true, // enable cookies to allow the server to access the session
            xfbml: true, // parse XFBML
            oauth: true // enable OAuth 2.0
        });
        FB.Canvas.setAutoGrow(); //autoResize  → no scrollbar

   });

Your App ID必須填入你建立好的Facebook App裡面的App ID ,接著加上點擊觸發授權的js部分

    $('#btn').click(function () {
            getLoaginState();
        });

        //驗證
        function getLoaginState() {
            FB.getLoginStatus(function (response) {
                if (response.authResponse) {
                    var u_fb_id = response.authResponse.userID;
                    console.log(u_fb_id);
                } else {
                    login();
                }
            });
        }

        //跳出登入視窗
        function login() {
            FB.login(function (response) {
                if (response.authResponse) {
                     var u_fb_id = response.authResponse.userID;
                     console.log(u_fb_id);
                } else {
                    alert('須同意應用程式');
                }
            });
        }

這段js是綁定一個click事件,在id為btn的div上,然後去執行getLoaginState(),FB.getLoginStatus是看登入狀態,沒有登入則會跳到login(),console是等下能看到我們所取得的FB ID

接著在剛剛App設定網址那邊有個Canvas Page,那就是你掛在Facebook底下的網址,後面的網址名稱就是你剛剛設定的App Namespace,進入以後會看到以下畫面


按下點我授權,就會跳出授權是否同意應用程式視窗


同意以後,就可以在firebug裡面看到我們剛剛所加的console,秀出你的FB ID


得到FB ID可以利用Graph API再更進一步取得許多資料,當然也要先授權相關權限才行

以上如有問題,歡迎一起討論



原文:http://blog.rx836.tw/blog/facebook-app-create-getfbid/



相关文章推荐

【Android】Facebook 登陆APP ID获取 android hash key获取,development/ release

其中最关键的一步: 获取Android hash key: facebook上的说明:On Windows, use:keytool -exportcert -alias -keystore ...

Facebook iOS App技术演化十年之路

  • 2017年12月01日 08:54
  • 6.14MB
  • 下载

facebook登录功能xml文件中application Id的配置问题

Resources referenced from the manifest cannot vary by configuration(except for version qualifiers, e...

在Android中使App快速、简单地支持新浪微博、微信、QQ、facebook等十几个主流社交平台的分享功能

在Android中使App快速、简单地支持新浪微博、微信、QQ、facebook等十几个主流社交平台的分享功能。...

如何优化app,看Facebook如何做

周四,Facebook Engineering blog 发表了一篇名为《Improving Facebook on Android》博文。博文从四个方面(Performance,Data Effic...
  • zjbpku
  • zjbpku
  • 2014年06月21日 19:51
  • 4083

使用Facebook的Redex工具进行android app运行优化

抱歉:我又盗了别人家的图,从网上偷了一个facebook的logo。哈哈哈!!!!好了回到正题。去年,Facebook使用叫ReDex的字节码优化工具优化了他们的安卓应用的性能.昨天收到消息,ReDe...

迎战Snapchat,Facebook最新推出Slingshot App!

近期Facebook持续更新企业动态,例如,上个月Facebook认知到Camera、Poke两大App已经无法再吸引使用者,因而从App Store快速下架,也传出,Facebook正积极研发一款类...

Facebook iPad App体验视频

Facebook已经正式推出了其iPad应用,现已可在App Store上下载。同时Facebook也对其在iPhone上的应用也进行了升级。增加应用书签和全新的请求对话框,可以显示应用的通知,同...

Facebook F8App-ReactNative项目源码分析5-iOS篇

近期开始研究Facebook f8app项目,目标是理解Facebook官方React Native f8app的整体技术架构,给公司目前几个的React Native项目开发提供官方经验借鉴,并对原...
  • offbye
  • offbye
  • 2016年06月08日 16:33
  • 4397
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Facebook] 如何建立facebook App 且取得FB ID
举报原因:
原因补充:

(最多只允许输入30个字)