我想订阅特定Facebook页面的picture
对象。为了做到这一点,我遵循这个article。我上传了可用作回调here的PHP文件。代码如下:
<?php
/**
* This is sample subscription endpoint for using Facebook real-time update
* See http://developers.facebook.com/docs/api/realtime to additional
* documentation
*/
// Please make sure to REPLACE the value of VERIFY_TOKEN 'abc' with
// your own secret string. This is the value to pass to Facebook
// when add/modify this subscription.
define('VERIFY_TOKEN', 'app_code_123');
$method = $_SERVER['REQUEST_METHOD'];
// In PHP, dots and spaces in query parameter names are converted to
// underscores automatically. So we need to check "hub_mode" instead
// of "hub.mode".
if ($method == 'GET' && $_GET['hub_mode'] == 'subscribe' &&
$_GET['hub_verify_token'] == VERIFY_TOKEN) {
echo $_GET['hub_challenge'];
} else if ($method == 'POST') {
$updates = json_decode(file_get_contents("php://input"), true);
// Replace with your own code here to handle the update
// Note the request must complete within 15 seconds.
// Otherwise Facebook server will consider it a timeout and
// resend the push notification again.
error_log('updates = ' . print_r($updates, true));
}
?>
然后我按照文章中的说明得到了我的access_token
,其中client_id
替换为APP_ID
,client_secret
替换为APP SECRET
来自我的应用详情:
https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=<REMOVED APP ID>&client_secret=<REMOVED CLIENT SECRET>
然后尝试创建订阅:
https://graph.facebook.com/<REMOVED APP ID>/subscriptions?access_token=<REMOVED APP ACCESS TOKEN>object=user&fields=feed&verify_token=app_code_123&method=post&callback_url=http://www.shameemcompany.com/facebook.php
但它失败并出现错误:
"message": "(#2200) callback verification failed: ",
"type": "OAuthException",
"code": 2200
我想订阅特定的Facebook页面,以便在何处或如何指定?
答案 0 :(得分:0)
首先,你必须使用HTTP POST方法,而不是发送&#34; ..&amp; method = POST&amp; ..&#34;
其次,您的服务器必须可以从互联网上访问。
第三,您的服务器必须能够处理并发请求,因为Facebook会同时发送验证请求。