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