誰か助けてください。私はこれをほぼ1か月間試しています...メッセージとデータを取得したいと思います。最新のFBAPIを使用しているので、何が問題なのかわからないように最善を尽くしました。また、 user_idを取得できません 。コールバック関数で何かする必要がありますか?
アプリのURL:https ://apps.facebook.com/greetingz/
これは私のコード全体です
<?php
session_start();
if(!empty($_REQUEST['request_ids'])) {
require_once('src/facebook.php');
$config = array();
$config["appId"] = "XXXXXXXX";
$config["secret"] = "XXXXXXXXXXXX";
$config["fileUpload"] = false; // optional
// Create our Application instance.
$facebook = new Facebook(array(
'appId' => $config["appId"],
'secret' => $config["secret"],
'cookie' => true,
));
$user_id= $facebook->getUser();
if($user_id){
try {
$app_token = $facebook->getAccessToken();
$requests = explode(',',$_REQUEST['request_ids']);
foreach($requests as $request_id) {
$data = $facebook -> api('/'.$user_id.'/apprequests?'.$app_token);
//you will delete the request here
$delete_url = "https://graph.facebook.com/".$request_id."_".$user_id."?".$app_token."&method=delete";
$result = file_get_contents($delete_url);
}
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}else{
?>
<script>
var oauth_url = 'https://www.facebook.com/dialog/oauth/';
oauth_url += '?client_id=XXXXXXXXXX';
oauth_url += '&redirect_uri=' + encodeURIComponent('https://apps.facebook.com/greetingz/');
oauth_url += '&scope=user_birthday,user_events'
window.top.location = oauth_url;
</script>
<?php
};
}
else{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script src="js/jquery-1.6.2.min.js" type="text/javascript" ></script>
<script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="css/style.css"/>
<title>Greetings</title>
</head>
<body>
<div align="center">
<object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="664" height="626">
<param name="movie" value="flash/Candle_jey.swf" />
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="swfversion" value="6.0.65.0" />
<!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don't want users to see the prompt. -->
<param name="expressinstall" value="Scripts/expressInstall.swf" />
<!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="flash/Candle_jey.swf" width="664" height="626">
<!--<![endif]-->
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="swfversion" value="6.0.65.0" />
<param name="expressinstall" value="Scripts/expressInstall.swf" />
<!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
<div>
<h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
<div class="main">
<div style="margin-left:300px; width:540px; margin:auto;">
<table>
<tr>
<td>
<span style="font-size:18px;font-family:'Trebuchet MS', Arial, Helvetica, sans-serif; color:#603;">Greeting :</span>
</td>
<td>
<textarea type="text" name="message" id="msg" style="height:40px; width:350px;" ></textarea>
</td>
<td>
<input type="submit" value="Send" id="one" style="color:#CCC; background-color:#603; border:none; width:80px; height:40px;"
onclick="sendRequestViaMultiFriendSelector(); return false;"></span>
</td>
</tr>
</table>
</div>
<script>
FB.init({
appId : 'XXXXXXXXXXX',
status : true,
cookie : true,
frictionlessRequests: true,
oauth: true
});
function sendRequestViaMultiFriendSelector() {
FB.ui({method: 'apprequests',
message: $("#msg").val(),
},function getMultipleRequests(requestIds) {
FB.api('', {"ids": requestIds }, function(response) {
console.log(response);
});
}, requestCallback);
}
function requestCallback(response) {
// Handle callback here
//var requestID = FB.api("/requestID", callback);
alert("Post was published.");
}
</script>
<div id="fb">
</div>
<?php }?>
</div>
<script type="text/javascript">
swfobject.registerObject("FlashID");
</script>
</body>
</html>