Facebook请求2.0错误#200 param ID中的所有用户必须已接受TOS

时间:2011-06-23 13:14:16

标签: php facebook

我正在通过我的开发人员测试帐户开发应用程序,而我正在尝试向用户发布测试通知。我使用facebook requests 2.0文档进行此操作,因此我的代码如下所示:

$token_url = "https://graph.facebook.com/oauth/access_token?" .
              "client_id=" . $app_id .
              "&client_secret=" . $app_secret .
              "&grant_type=client_credentials";

              $app_access_token = file_get_contents($token_url);


              $user_id = $this->user->id;
              $apprequest_url ="https://graph.facebook.com/" .
                               $user_id .
                               "/apprequests?message='testing notification'" . 
                               "&"  .   
                               $app_access_token . "&method=post";

              $result = file_get_contents($apprequest_url);
              echo "Request id number: " . $result;

当我这样做时,我在页面上显示“无法打开流”的错误,但是当我将网址复制并粘贴到地址栏时,我没有收到任何错误并返回了请求ID。有人知道为什么会这样吗?

2 个答案:

答案 0 :(得分:0)

您应该将allow_url_fopen设置为On

答案 1 :(得分:0)

我使用curl而不是file_get_contents解决了它。 file_get_contents曾因某种原因抛出错误。

curl的cpde是:

$ch = curl_init();
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        curl_setopt($ch, CURLOPT_URL, $apprequest_url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, false);

$result = curl_exec($ch);
curl_close($ch);

我知道我迟到了,但我希望它有所帮助。