繁体   English   中英

Facebook申请的问题

[英]Problem with Facebook apprequests

有时,通过请求对话框发送请求后,由于API调用/ me / apperquests导致得到空数组,我使用的是来自Facebook的PHP SDK的PHP库,因此auth正常(例如/ me调用正常)。

有人可以帮助我,为什么会这样? 非常感谢!

调用/me/apprequests将返回从应用程序和朋友发送给您的请求,而不是 您发送给其他人的请求!

apprequests-用户对应用程序的未完成请求。


我建议的解决方案来跟踪用户发送的请求,它的深入描述这里

简而言之,您将处理包含请求ID的apprequests回调的响应,并将它们与用户(发送者)ID一起存储在数据库中。

码:

<?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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM