有時我得到空數組作爲API調用/我/ apperquests後發送請求通過request dialog 我使用來自Facebook的PHP SDK的PHP庫,所以身份驗證是可以的(例如/我打電話是好)。與Facebook apprequests問題
有人能幫助我,爲什麼會發生這種情況?萬分感謝!
有時我得到空數組作爲API調用/我/ apperquests後發送請求通過request dialog 我使用來自Facebook的PHP SDK的PHP庫,所以身份驗證是可以的(例如/我打電話是好)。與Facebook apprequests問題
有人能幫助我,爲什麼會發生這種情況?萬分感謝!
調用/me/apprequests
搜索將返回從應用程序和朋友不是您發送別人的請求發送到您的要求!
apprequests - 用戶未完成的應用程序請求。
我已經提出了一個解決方案來跟蹤用戶發送的請求,它的深度here描述。
簡而言之,您將處理包含請求標識的apprequests
回調的響應,並將它們與用戶(發件人)標識一起存儲在數據庫中。
代碼:
<?php
// PATH TO THE FB-PHP-SDK
require_once '../src/facebook.php';
$facebook = new Facebook(array(
'appId' => 'APP_ID',
'secret' => 'APP_SECRET'
));
$user = $facebook->getUser();
$loginUrl = $facebook->getLoginUrl();
if (empty($user)) {
echo("<script> top.location.href='" . $loginUrl . "'</script>");
exit();
}
?>
<!doctype html>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
</head>
<body>
<a href="#">Send Application Request</a>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'APP_ID',
status : true,
cookie : true,
xfbml : true,
oauth : true
});
};
$('a').click(sendRequest);
function sendRequest() {
FB.ui({
method: 'apprequests',
message: 'Check out this application!',
title: 'Send your friends an application request',
},
function (response) {
if (response && response.request_ids) {
var requests = response.request_ids.join(',');
$.post('handle_requests.php',{uid: <?php echo $user; ?>, request_ids: requests},function(resp) {
// do something
});
} else {
alert('canceled');
}
});
return false;
}
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
</body>
</html>
顯然不是真正需要的PHP-SDK。
盲目猜測:FB REST API本身當前返回空響應或者Facebook PHP SDK中的cURL失敗。 – toopay