[API] Facebook Graph API - Publish/Share
由於公司有需要用到利用FB分享,故來筆記一下
用FB分享連結有三種方式
直接從 Share Dialog開始,根據Facebook Developer上寫直接用
JS SDK的FB.ui去呼叫,分享成功後會將response丟回
response是json,大概長的樣子是{"post_id":"123456789"}之類的
有取得類似的值就代表分享成功囉 !
程式碼如下
接下來是使用Graph API的部分
基本的url為 https://graph.facebook.com/fb-id/feed
使用POST將必須參數帶入:
用FB分享連結有三種方式
- Social Plugin
- Share Dialog
- Graph Api
直接從 Share Dialog開始,根據Facebook Developer上寫直接用
JS SDK的FB.ui去呼叫,分享成功後會將response丟回
response是json,大概長的樣子是{"post_id":"123456789"}之類的
有取得類似的值就代表分享成功囉 !
程式碼如下
FB.ui({ method: 'share', href: 'https://developers.facebook.com/docs/', }, function(response){});
接下來是使用Graph API的部分
基本的url為 https://graph.facebook.com/fb-id/feed
使用POST將必須參數帶入:
- link
- 所要分享的連結
- picture
- FB貼文上左編的縮圖
- name
- 連結的名稱
- description
- 連結的描述
- access_token
- 要獲得使用者的access token才可以有發文的權限
- message
- 發文的內容
另外注意,要取得access token時,scope要設定publish_actions
PO出來成果如下圖
附上部分PHP Code如下 :
$post_data = array( "link"=>"https://www.facebook.com/", "picture"=>"https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-xpa1/t39.2365-6/851585_216271631855613_2121533625_n.png", "name"=>"I'm name!", "caption"=>"I'm caption!", "description"=>"I'm descriptions!", "access_token"=>$user_access_token, "message"=>"I'm a message!" ); self::facebook_api('post',$fb_id,'feed',$post_data); /* * 用cURL做POST的動作去呼叫Facebook Graph API */ public function facebook_api($action='post',$fb_id,$fb_act,$post_data){ if($action == 'post'){ $url = 'https://graph.facebook.com/'.$fb_id.'/'.$fb_act; $ch = curl_init(); $options = array( CURLOPT_URL=>$url, CURLOPT_POST=>true, CURLOPT_POSTFIELDS=>http_build_query($post_data), ); curl_setopt_array($ch, $options); $result = curl_exec($ch); curl_close($ch); print_r($result); }else if($action == 'get'){ } }
留言
張貼留言