facebook寫自動貼文程式時access token權杖時效問題

1465550363703
在寫facebook的自動貼文或程式時,需要有access token,但access token的時效不長。該如何延長時間?
1
進入Graph API測試工具(https://developers.facebook.com/tools/explorer/)取得暫時性的權杖。
2
透過下列網址將APP_ID APP_SECRET ACCESS_TOKEN置換成對應的值

https://graph.facebook.com/oauth/access_token? client_id={APP_ID}& client_secret={APP_SECRET}& fb_exchange_token={SHORTLIVED_ACCESS_TOKEN}& grant_type=fb_exchange_token

3
如果還不行,可以利用Access Token Debugger工具(https://developers.facebook.com/tools/debug/access_token/),將暫時性的權杖輸入後,也可以取得長效(60天)的token。
那如何驗證過期與否重取得??官方給了做法

<?php
  $app_id = "YOUR_APP_ID";
  $app_secret = "YOUR_APP_SECRET"; 
  $my_url = "YOUR_POST_LOGIN_URL";
     
  // known valid access token stored in a database 
  $access_token = "YOUR_STORED_ACCESS_TOKEN";

  $code = $_REQUEST["code"];
    
  // If we get a code, it means that we have re-authed the user 
  //and can get a valid access_token. 
  if (isset($code)) {
    $token_url="https://graph.facebook.com/oauth/access_token?client_id="
      . $app_id . "&redirect_uri=" . urlencode($my_url) 
      . "&client_secret=" . $app_secret 
      . "&code=" . $code . "&display=popup";
    $response = file_get_contents($token_url);
    $params = null;
    parse_str($response, $params);
    $access_token = $params['access_token'];
  }

        
  // Attempt to query the graph:
  $graph_url = "https://graph.facebook.com/me?"
    . "access_token=" . $access_token;
  $response = curl_get_file_contents($graph_url);
  $decoded_response = json_decode($response);
    
  //Check for errors 
  if ($decoded_response->error) {
  // check to see if this is an oAuth error:
    if ($decoded_response->error->type== "OAuthException") {
      // Retrieving a valid access token. 
      $dialog_url= "https://www.facebook.com/dialog/oauth?"
        . "client_id=" . $app_id 
        . "&redirect_uri=" . urlencode($my_url);
      echo("<script> top.location.href='" . $dialog_url 
      . "'</script>");
    }
    else {
      echo "other error has happened";
    }
  } 
  else {
  // success
    echo("success" . $decoded_response->name);
    echo($access_token);
  }

  // note this wrapper function exists in order to circumvent PHP’s 
  //strict obeying of HTTP error codes.  In this case, Facebook 
  //returns error code 400 which PHP obeys and wipes out 
  //the response.
  function curl_get_file_contents($URL) {
    $c = curl_init();
    curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($c, CURLOPT_URL, $URL);
    $contents = curl_exec($c);
    $err  = curl_getinfo($c,CURLINFO_HTTP_CODE);
    curl_close($c);
    if ($contents) return $contents;
    else return FALSE;
  }
?>

參考:
https://developers.facebook.com/blog/post/2011/05/13/how-to–handle-expired-access-tokens/

Facebook臉書一掛點~所有用到外掛的網站也哭哭了

facebookdown02

facebookdown01
一向是台灣朋友依賴的臉書(Facebook),在下午接近四點全面性的癱瘓!有網友猜測是不是網軍的DDos攻擊,目前不得而知~
不過plurk、twitter等其他社群真的是一片哀嚎,許多人甚至把資料都丟在上面~結果完全找不到了!而許多利用facebook社群外掛的網站,除了版面大亂外,使用facebook登入機制的網站也不得其門而入…..

想當Hacker就來學學FB新語言Hack

facebook_hack

facebook在2011年開放HipHop Virtual Machine(HHVM)的原始碼後,在昨天釋出了為HHVM所設計的精簡版PHP「Hack」。Hack結合PHP快速開發及Java、Python等語言的優點於一身,是目前Facebook各網站的主要語言。

Facebook開發人員 https://developers.facebook.com/

Hack 官網 http://hacklang.org/

HHVM 官網 http://hhvm.com/

Facebook大當機?

晚上突然發現Facebook不能留言、按讚等更新狀態….結果才發現是全球性的問題。希望能快快好起來!

螢幕快照 2013-10-21 下午8.41.26 螢幕快照 2013-10-21 下午8.45.07

 

Facebook status update problems aren’t uncommon, but this one seems global — we’ve tested it from several IPs, receiving the same message.

In addition to status update issues, we were also unable to Like or post photos on Facebook.

According to web service status tracker Downrightnow, Facebook is currently likely experiencing a service disruption.

We’ve contacted Facebook about the issue but have not yet received a response.

Stay tuned for updates.

Image: Facebook

 

相關連結: Mashable

Delphi XE5實作仿Facebook Slide Menu

螢幕快照 2013-10-01 上午9.30.24

既然Delphi XE5可以開發Android、iOS的程式,那可不可以設計像Facebook一樣的選單呢(如上圖)?答案是可以的!

接下來就手把手教大家操作。

1首先開一個空的Mobile Project,在上面放一個ListBox元件,將Aligh設定為alClient

螢幕快照 2013-10-01 上午8.55.27

2接下來回到ListBox元件按右鍵進入 Item Editor,建立如下圖的選單

螢幕快照 2013-10-01 上午8.59.12

3.接下來再放上一個Panel,一樣把Aligh設定成alClient,接著在上面放一個ToolBar

螢幕快照 2013-10-01 上午9.01.41

螢幕快照 2013-10-01 上午9.02.01

4.在ToolBar上放一個SpeedButton,設定StyleLookup為detailstoolbuttonbordered

螢幕快照 2013-10-01 上午9.02.45

螢幕快照 2013-10-01 上午9.03.18

5.回到Panel元件,設定Position的X ,下拉選擇 Create New TFloatAnimation

螢幕快照 2013-10-01 上午9.49.49

6.接著在SpeedButton 的 OnClick事件

var
  FloatAnimationX: single;
begin
  FloatAnimationX:=Self.ClientWidth - 60;

  if (panel1.Position.X=FloatAnimationX) then begin
    FloatAnimation1.StartValue:= FloatAnimationX;
    FloatAnimation1.StopValue:= 0;
  end
  else begin
    FloatAnimation1.StartValue:= 0;
    FloatAnimation1.StopValue:= FloatAnimationX;
  end;

  <del datetime="2013-10-01T09:44:53+00:00">AnimateDrawer</del>FloatAnimation1.Start;
end;

結果就會變成如下圖了!

螢幕快照 2013-10-01 上午9.27.52
如果你要在Panel加上陰影的話,只要在Panel加上即可
螢幕快照 2013-10-01 上午9.28.40

螢幕快照 2013-10-01 上午9.29.30

螢幕快照 2013-10-01 上午9.30.24

 

GitHub原始碼 https://github.com/superlevin/delphixe5facebookslidemenu

Facebook即將發佈第二季財務報表

7/25美股收盤後,facebook就要發佈2013年第二季的財務報表了。相較於第一季亮眼的業績,以及行動業務的蒸蒸日上,不知道第二季是否仍可成長。不過發現facebook由於其他社群軟體的關係、以及急於收費的小動作,讓不少用戶慢慢出走。前陣子更出現社團無故消失的狀況,致使用戶怨聲連連…….

相關連結:

Investor Relations – Facebook : http://investor.fb.com/index.cfm

Facebook依然為最高的內容分享流量來源

Gigya公佈2013年4-6月社交網路登錄及分享情況的調查報告,五家主要的社交網路,以Google+的分享量最低。

雖然Google + 潛在用戶很多,但事實不是相當活躍,報告中看到祇有2%分享流量來自它,遠低於Facebook(50%),Twitter(24%),Pinterest(16%),LinkedIn(3%)

Simplified Social Landscape

Source: Gigya

Facebook推出貼圖商店,網頁版手機版皆可用

Facebook原本在手機版才可以使用的貼圖功能,在最近也悄悄的移植到網頁版上了。

進入收件匣功能,點選笑臉就可以看到原來在手機版才有的可愛貼圖。

facebook-chat-stickers

點選最右邊的籃子,就可以進入貼圖商店

facebook-stickers-store

看到喜歡的貼圖就可以下載使用囉。  facebook-stickers

Facebook一直積極在尋找獲利模式,而貼圖功能,也有可能看到 Line 2013年1-3月的季報表

而在報表中,也提到スタンプ課金(同:約30%),也就是貼圖的營收佔了30%。(註:當然 ゲーム課金(売上構成比:約50%),50%是遊戲的收入),這大概也是 Facebook 一直佈局貼圖功能的原因之一吧 🙂