当我的应用程序允许用户邀请他们的朋友时,我想在数据字段中附加跟踪代码,以便当有人收到该邀请时,我将能够检索该跟踪代码。
我的问题是,一旦我通过跟踪代码,我就不知道在用户点击申请请求时如何检索它。
我的邀请代码是
FB.ui( { method: 'apprequests', message: 'You should learn more about this awesome game.', data: UniqTrackIDInvite //a randomly generated number },
在我的目标网页上,新用户点击后决定接受我的应用,我想有办法检索这个
答案 0 :(得分:1)
获取请求ID:
if(isset($_REQUEST['request_ids']))
$reqIds = explode(',', $_REQUEST['request_ids']);
您可以将它们存储在会话中以便以后使用
这是api电话:
public function getInvitationData($reqId){
return $facebook->api('/'.$reqId, 'GET', array('access_token'=>$accessToken));
}
由于用户可能被多个用户邀请,他可以提供多个邀请,因此请循环播放。还使用try / catch块,因为已经删除的请求id将引发异常
foreach($reqIds as $reqId) {
try{
$invite = $application->facebook->getInvitationData($reqId);
$data = explode('.', $invite['data']);
if(sizeof($data) >= 3) list($in, $from, $code)=$data;
// tadaaa
echo $code;
}
}