0

我想订阅picture特定 Facebook 页面的对象。为了做到这一点,我正在关注这篇文章我在这里上传了用作回调的 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_IDclient_secret替换APP SECREThttps://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 页面,那么我将在哪里或如何指定它?

4

1 回答 1

0

首先,您必须使用 HTTP POST 方法而不是发送“..&method=POST&..”

其次,您的服务器必须可以从 Internet 访问。

第三,您的服务器必须能够处理并发请求,因为 facebook 同时发送验证请求。

于 2014-05-26T13:27:56.727 回答