IM建立一個Facebook應用程序,我想通知用戶圖形API通知返回空數據
https://developers.facebook.com/docs/games/notifications
IM使用Facebook的PHP SDK
我做什麼:
用戶認證該應用並接受權限
我得到類似的accessToken:
$facebook->getAccessToken()
,然後我產生一個較長時間的標記,如:
public function generateLongTimeToken($token){
$long_time_token_req_body = array(
"grant_type"=>"fb_exchange_token",
"client_id"=>$this->facebookOptions["appId"],
"client_secret"=>$this->facebookOptions["secret"],
"fb_exchange_token"=>$token
);
$query = http_build_query($long_time_token_req_body);
$lttreq = file_get_contents("https://graph.facebook.com/oauth/access_token?".$query);
$lttresp = parse_str($lttreq, $output);
if (array_key_exists("access_token", $output)){
$this->logger->info("Facebook-app: Successfuly generated long_time_token");
return $output["access_token"];
}else {
$this->logger->err("Facebook-app: generating oauth long_time_token failed \n".$lttreq);
return false;
}
}
一些後來我使用此令牌後臺進程後的用戶牆,他們所有做工精細
現在我也想notificate這樣的用戶:
public function notifyUser($message,$facebookClientId,$token){
$appsecret_proof= hash_hmac('sha256', $token, $this->facebookOptions["secret"]);
$req_body = array(
"access_token"=>$token,
"appsecret_proof"=>$appsecret_proof,
"href"=>"/index",
"template"=>$message,
"ref"=>"post"
);
$query = http_build_query($req_body);
$url = "https://graph.facebook.com/".$facebookClientId."/notifications?".$query;
$lttreq = file_get_contents($url);
return $lttreq;
}
但是當我嘗試通知用戶我總是得到空的數據傳回 當我在瀏覽器中的所有參數的Facebook返回相同的
{
data: [ ]
}
打開網址,所以我不知道什麼怎麼回事,當我看到,所以我只找到人張貼到網站,但我想通知用戶本身
感謝您的幫助
是你的應用程序畫布應用程序? – luschn 2014-08-27 21:17:23
@luschn目前它在apache服務器上運行本地,它正在開發中,尚未發佈或審查 – 2014-08-27 21:19:30