顯示具有 facebook 標籤的文章。 顯示所有文章
顯示具有 facebook 標籤的文章。 顯示所有文章

2012年9月5日 星期三

分享到 facebook, 分享到 google+ 的方法

1. 分享到 facebook, 1行 javascript 就搞定:
function Facebook() { void(window.open('http://www.facebook.com/share.php?u='.concat(encodeURIComponent(location.href)) )); }

但有一些情況會出錯, 就是你的網址裡使用的參數和 facebook 有衝突時, 例如 &lang=


2. 分享到 google+, 方法同上面的 facebook
分享的 URL 如下:
javascript:void(window.open("https://plus.google.com/share?ur\l="+encodeURIComponent(location), "Share to Google+","width=600,height=460,menubar=no,location=no,status=no"));

google+ 有另一個不錯的方法,加入這2行也ok, 而且提供的功能更多, 還可以看到 count, 如果 annotation 不要設成 none:
<script type='text/javascript' src='https://apis.google.com/js/plusone.js'></script>

<g:plusone size='standard' annotation='none' align='right'></g:plusone>

2012年1月20日 星期五

[facebook].自動發佈粉絲專頁App Demo.(post fan page wall)

app 提供2個功能:
1.加入粉絲專頁.
2.管理粉絲專頁.(+發佈測試)

先使用瀏覽器1號(chrome), 已登入 facebook, 管理介面如下:



目前管理的粉絲專頁= 0 筆. (使用前)



點選 "Facebook 應用程式授權" 超連結.



會列出目前已登入的 facebook 帳號可以管理的 Fan pages.



按下 "確定送出"



按下 "確定" 後, 會導到 "粉絲專區維護" 的管理界面.



為了確保, 其他台的電腦也可以正常使用該發佈功能,
改用 瀏覽器2號(firefox) 來操作, 點選 "測試發佈", 並輸入:
"測試發佈訊息-2012-01-20"



貼到粉絲專頁塗鴉牆的畫面:

2012年1月18日 星期三

[facebook].取得 page_access_token 的2個方法

資料來源1: How To: Post On Facebook Page As Page Not As Admin User Using PHP-SDK
http://www.masteringapi.com/tutorials/how-to-post-on-facebook-page-as-page-not-as-admin-user-using-php-sdk/31/

資料來源2: 111219 facebook connect 改使用 php sdk 3.01與Graph API
http://living.donghong.info/blog/?page_id=9986

要讓 facebook app 存取粉絲專頁, 需要授與 manage_pages 權限.



方法1: 透過 $facebook->api("/$page_id?fields=access_token")
---------------------
$page_id = 'page_id';
$page_info = $facebook->api("/$page_id?fields=access_token");
if( !empty($page_info['access_token']) ) {
$args = array(
'access_token' => $page_info['access_token'],
'message' => "I'm a Page!"
);
$post_id = $facebook->api("/$page_id/feed","post",$args);
}



方法2: 透過 $facebook->api("/$user_id/accounts")
---------------------
$page_id = "XXXXXXXXX";
$page_access_token = "";
$result = $facebook->api("/me/accounts");
foreach($result["data"] as $page) {
if($page["id"] == $page_id) {
$page_access_token = $page["access_token"];
break;
}
}

* 附註: 如果您有開發 app 的話, 透過 /$user_id/accounts 來列 object 時, app 也算是在 page 裡的一個object, 可以透過下面的 code 來判斷是 facebook app 還是 fan page.
$page["category"] == "Application"

[facebook].以粉絲的角色貼文到粉絲專頁(Page),而非管理員帳號(Admin User)

資料來源1: How To: Post On Facebook Page As Page Not As Admin User Using PHP-SDK
http://www.masteringapi.com/tutorials/how-to-post-on-facebook-page-as-page-not-as-admin-user-using-php-sdk/31/

資料來源2: 111219 facebook connect 改使用 php sdk 3.01與Graph API
http://living.donghong.info/blog/?page_id=9986

看完上面這2篇, 應該就可以實作出來,
首先要多授與 facebook app 下列3個權限:
publish_stream, manage_pages, offlice_access


第2點, 就是需要在貼文到 fan page 時, 要多指定 page_access_token, 而不是 user 的 access_token. 下圖中的 Max Yao 就是過 user access token, 第2次再貼就是透過 page_access_token 即可用 "Max家裡蹲公司" 的角色進行貼文.



只是, 貼到 fan page, 的限制比貼到一般的 user 塗鴉牆多, 貼文中的 link (hyperlink) 有限制, 如果輸入外部的 URL 就會顯示錯誤訊息:
The post's links must direct to the application's connect or canvas URL

[facebook].貼文到user 的塗鴉牆(wall)

資料來源1: How To: Post A Message On The User Wall Using Facebook Graph API
http://www.masteringapi.com/tutorials/how-to-post-a-message-on-the-user-wall-using-facebook-graph-api/33/

資料來源2: facebook Core Concepts - Graph API - Page
http://developers.facebook.com/docs/reference/api/page/

貼文到user 塗鴉牆很簡單, 需要授與 facebook app publish_stream 權限, 就可以透過下面的指令直接貼文. 比較難的是貼文 "粉絲專區".


$args = array(
'message' => 'Hello from my App!',
'link' => 'http://www.masteringapi.com/',
'caption' => 'Visit MasteringAPI.com For Facebook API Tutorials!'
);
$post_id = $facebook->api("/me/feed", "post", $args);


我常用的 /feed 用的 args(參數) 有下面這幾個.
$message = trim(''.$_GET['message']); // 本文.
$link = trim(''.$_GET['link']); // hyperlnk.
$picture = trim(''.$_GET['picture']); // picture
$caption = trim(''.$_GET['caption']); // 第一行的標題.
$name = trim(''.$_GET['name']); // hyperlink 的 title.
$description = trim(''.$_GET['description']); // 第2行的詳細說明文字.

[facebook].取得 Application Access Token

資料來源1: How To: Get A Facebook Application Access Token
http://www.masteringapi.com/tutorials/how-to-get-a-facebook-application-access-token/41/

資料來源2: facebook SDKs & Tools - PHP SDK - api
http://developers.facebook.com/docs/reference/php/facebook-api/


方法1:
------------------
$APPLICATION_ID = "APP_ID";
$APPLICATION_SECRET = "APP_SECRET";

$token_url = "https://graph.facebook.com/oauth/access_token?" .
"client_id=" . $APPLICATION_ID .
"&client_secret=" . $APPLICATION_SECRET .
"&grant_type=client_credentials";
$app_token = file_get_contents($token_url);




方法2:
------------------
$facebook->getAccessToken();




這2個方法, 都可以取得 app access token, 建議使用方法2.

2012年1月16日 星期一

[facebook].app 取得授權的寫法(Authentication)

facebook 最近加入了時間
facebook app 取得授權的寫法, 程式碼:



不正確的授權視窗:



正確的授權視窗:



結論: 把程式碼裡的 req_perms , 換成 scope, 就可以彈出正確的授權視窗了.


相關文章:
facebook Authentication
http://developers.facebook.com/docs/authentication/

2011.12 已全面改用 php-sdk 3.01 與 Graph API
http://living.donghong.info/blog/?p=7258

2011年9月2日 星期五

手動設定 facebook 的 iframe 頁面的語系

多丟一個 locale=en_US 即可.

語系的設定, 有助於您在開發英文介面的 UI, 在 facebook 的世界裡, 通常 中文字的 font size = 14 , 英文語系 font size = 12. font size 的差異, 參考看看下圖.


Facebook 留言板