歡迎轉載(註明出處)或直接轉貼網址也ok,但是請不要直接把內容摳走貼在別的地方~

目前分類:Facebook (14)

瀏覽方式: 標題列表 簡短摘要

廢話前言:

已經很久沒寫部落格了,其實很懶得寫,但這東西真的花了我很多時間

一個專案可能半天就寫完了,剩下一天半都在處理 fb cache 的問題

facebook 官方提供的 Debugger 工具不知道按過幾百次了,抓到的圖文還是舊的

所以以下提供解決的方法,會造成這樣的原因有很多種

但最重要的是.....最好要求需求單位文案不要改來改去,因為 fb 的 cache 真的很難搞

 

小雕 發表在 痞客邦 留言(0) 人氣()

 最近工作上遇到一個問題是關於 Facebook 分享文章時的預設圖片

在分享的時候有時候會是小圖,有時候會是大圖

舉個小圖的例子,如下 :

擷取       

 

再來是大圖的例子 :

擷取     

小雕 發表在 痞客邦 留言(4) 人氣()

 不想看廢話前言直接按此

===================================================

會來研究這個是因為有網友在問,怎麼用 sharedposts 都取不到資料,所以就來研究一下

因為我印象中之前好像是可以的~

如果只看標題似乎感覺很簡單似的,因為語法官網也寫得很清楚

就是使用 /{object-id}/sharedposts

https://developers.facebook.com/docs/graph-api/reference/v2.1/object/sharedposts

小雕 發表在 痞客邦 留言(11) 人氣()

痾.....雖然之前寫過判斷是否加入粉絲團的方式

但是 pages.isFan 似乎存在一些問題

有些人可以正常 run,有些人看到一片空白,有些人一直跳出來說他沒加入粉絲團 = =

然後我找了一下 pages.isFan 這東西在 Facebook Developer 裡面似乎找不到了

不知道是換地方還是根本就是舊方法要淘汰了?

因為寫法其實很多種,所以這次改用 FQL 來寫

然後此篇不限於 Facebook APP,一般web 網站也是一樣寫法

小雕 發表在 痞客邦 留言(2) 人氣()

想跳過廢話前言直接看Graph API的請點進內文後 按此

====================================

前言 : 

因為前一篇...... 

取得Facebook 粉絲團中,某篇文章按讚的人數 + 名單 + 個人資料 (使用 FQL)

根據有人使用過後的結果後熱心的回報....用FQL取得的返回內容有個致命的問題

就是會有筆數上限的限制 

小雕 發表在 痞客邦 留言(54) 人氣()

相關文章更新歷程

=======================================

update : 2014/9/23

使用Graph API 取得留言分享的名單 (sharedposts) 請看這篇 :

使用Facebook Graph API 取得分享Po文的使用者名單 (sharedposts)

update : 2014/9/11

此篇是使用FQL,如要改成使用 Graph API 請看下面這篇 :

小雕 發表在 痞客邦 留言(100) 人氣()

這篇文章其實是在講網站利用Facebook OAuth 來 Login!

但前言很長大家可以跳過

前言與廢話 :  (想跳過請按此)

=======================================

因為最近跟主管討論 + 聊天深深覺得 javascript 雖然強大

但卻因為資訊曝露在外顯的很不安全,真正要做到側邊防漏還是要在server端進行

如果邏輯是寫在client,就變成要怎麼被人玩都可以

小雕 發表在 痞客邦 留言(3) 人氣()

 ** 老文新貼 **

這篇其實是 2011年我在公司做部門分享時寫的

用的也是我在公司寫的專案,剛剛試用了一下還可以玩耶!

( code 寫得很爛請別在意,精神有到就好 = =)

因為 FB 改了 n 版了

如果在發佈塗鴉牆有遇到 API Error Code: 191 的可以參考一下這篇

http://stackoverflow.com/questions/15858662/facebook-canvas-redirect-uri-is-not-owned-by-the-application

小雕 發表在 痞客邦 留言(0) 人氣()

Facebook 發佈到塗鴉牆

   

其實 FB.ui 跟 FB.api 都可以發佈到塗鴉牆

兩者的差異是一個會跳出 dialog 詢問,一個是直接就貼塗鴉牆了

 FB.init({
                appId: '你的 app ID',
                status: true,
                cookie: true,
                xfbml: true,
                channelURL: 'http://www.xxxxxxxx.com.tw/channel.html',
                oauth: true
        });
        FB.getLoginStatus(function (response) {
           if (response.status === 'connected') {            
                 var uid = response.authResponse.userID;
                 //var accessToken = response.authResponse.accessToken;
                 //accessToken 的功用可以看這裡 http://developers.facebook.com/docs/reference/api/">http://developers.facebook.com/docs/reference/api/
                 login_success(uid);
           } else {
                        FB.login(function (response) {
                                if (response.authResponse) {
                                    var uid = response.authResponse.userID;
                                    var accessToken = response.authResponse.accessToken;
                                    login_success(uid);
                                } else {
                                        alert('登入失敗!');
                                }
                        }, {
                                scope: 'email,publish_stream'
                        });
           }

        })

    function login_success(uid){
                
                /*var body = '測試一下測試一下測試一下測試一下';
                FB.api('/me/feed', 'post', { message: body }, function(response) {
                  if (!response || response.error) {
                        alert('Error occured');
                  } else {
                        alert('Post ID: ' + response.id);
                  }
                }); */

                FB.ui(
                  {
                        method: 'feed',
                        name: 'Facebook Dialogs',
                        link: 'http://www.suncolor.com.tw',
                        picture: 'http://fbrell.com/f8.jpg',
                        caption: '測試一下',
                        description: '測試兩下測試兩下測試兩下'
                  },
                  function(response) {
                        if (response && response.post_id) {
                          alert('Post was published.');
                        } else {
                          alert('Post was not published.');
                        }
                  }
                );
        }

FB.ui 會長這樣

Clipboard01  

 FB.api 會直接這樣

小雕 發表在 痞客邦 留言(3) 人氣()

工作上常常會用到需要結合 FB 的功能

以下就我有寫過且遇到的筆記一下

首先不管你要幹嘛,當然是要有個 Facebook 的 APP ID

申請方式如下 : 

首先來到此頁  https://developers.facebook.com/apps 

點右上方的建立新應用程式

然後填寫 APP 名稱與命名空間後按繼續

小雕 發表在 痞客邦 留言(22) 人氣()

是這樣的

前幾天在寫 Facebook APP 的時候有使用到 FB.login

因為那天 FB.getLoginStatus 莫名奇妙壞去

只好每次開頁面都呼叫 FB.login 出來檢查一次

但這其實是個很不智的作法,因為會有....

1.會跳出視窗,某些瀏覽器會擋

2.會有錯誤訊息,說你沒有權限

小雕 發表在 痞客邦 留言(2) 人氣()

這其實是老梗了,應該不少人知道

但是這個老梗還是有讓我學到些東西

就是別人分享你網址到塗鴉牆的時候,可以用下面這些meta tag 來事先定義好內容

http://ogp.me/   <----- 請來這查

<html xmlns="http://www.w3.org/1999/xhtml" 
xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml">
<head><title>The Rock (1996)</title> 
<meta property="og:title" content="The Rock"/> 
<meta property="og:type" content="movie"/> 
<meta property="og:url" content="http://www.imdb.com/title/tt0117500/"/> 
<meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/> 
<meta property="og:site_name" content="IMDb"/> 
<meta property="fb:admins" content="USER_ID"/> 
<meta property="og:description" content="A group of U.S. Marines, under command of a renegade general, take over Alcatraz and threaten San Francisco Bay with biological weapons."/>
 ... </head> ... 
</html>

但是如果你之前已經分享過,但是你現在想要改成上面這樣自訂分享訊息的話

請到這個網頁來輸入網址  http://developers.facebook.com/tools/debug

因為據說 facebook 會暫存這個資料24h

小雕 發表在 痞客邦 留言(1) 人氣()

只是一個發佈到塗鴉牆的動作讓我搞了很久.....

一直卡在發佈時會被瀏覽器擋住 (頁面載入就發佈到塗鴉牆)

印象中之前寫某個facebook app也發生過,後來發現好像是跟IE安全性有關

XSS篩選器停用應該就可以.....但又不能叫每個user 自己停用

Clipboard02.png   

然後那時候就懶惰了....沒有繼續找如何解決

然後這次搞定了 code 如下 :

小雕 發表在 痞客邦 留言(1) 人氣()

首先當然是要先建一個 APP

官網有飯粒

https://developers.facebook.com/docs/appsonfacebook/tutorial/

然後記得 Canvas URL結尾一定要是 /  or  ?

所以我是這樣打

http://localhost:2600/FBTest/default.aspx?

再來先引用這個

小雕 發表在 痞客邦 留言(29) 人氣()