发送用户消息的方法


What method to send user message?

我正在尝试向用户发送消息。我使用消息对象,但它不起作用。下面是我的代码:

        $sAccessToken = $facebook->getAccessToken();
        $aParams = array(
            'method'=> 'message',
            'format' => 'post',
            'from'=> $sFrom,
            'to' => $aTo, 
            'message' => $sMessage,
            'access_token' => $sAccessToken,
        );
        $facebook->api($aParams);

我只得到错误消息:未知方法

谢谢你的帮助。

新的Message GraphAPI端点尚未准备好,因此可能是您遇到此问题的原因。

请注意:我们正在制作新的消息系统对所有用户可用,此时此API将取代/inbox/graph API端点。我们提供了这个API的早期访问对于注册的开发人员帐户,直到新的消息系统广泛可用。您应该使用/inbox端点当前的生产应用程序。

来源:Facebook API Documentation

你想在用户留言板上发帖吗?如果是这样,从你所张贴的有一个错误。方法应该是POST而不是message。试试下面给出的方法。这应该行得通。让我知道。

$sAccessToken = $facebook->getAccessToken();
$aParams =  array(
    'access_token' => $sAccessToken,
    'message' => "Hello, here is a post";
    );
$facebook->api('/OBJECT_ID/feed', 'POST', $aParams);

其中OBJECT_ID为需要发布消息的用户的Facebook用户ID。

替代方法

无论如何,以下面给出的格式执行链接肯定会起作用

https://graph.facebook.com/OBJECT_ID/feed?method=POST&消息= YOUR_MESSAGE& access_token = USER_ACCESS_TOKEN

其中OBJECT_ID是需要在其墙上发布消息的用户的Facebook用户ID。YOUR_MESSAGE是要发布的消息。ACCESS_TOKEN是一个有效的用户访问令牌。

上述格式的请求将代表访问令牌的所有者在OBJECT_ID的墙上发布一篇文章。

错误原因

{
   "error": {
      "message": "(#200) The user hasn't authorized the application to perform this action",
      "type": "OAuthException"
   }
}

当访问令牌上没有授予"publish_stream"权限时,会发生此错误。

您如何确认您有权限。

请尝试使用此工具查看是否授予权限。https://developers.facebook.com/tools/debug/和让我知道

如何创建以页面为所有者的帖子?

Facebook GRAPH API允许应用程序创建一个以页面作为所有者而不是普通Facebook用户的Post。为此,您需要manage_pages和publish_stream扩展权限。

<<p> 步骤/strong>

如果您知道粉丝页面的Facebook ID,请访问https://graph.facebook.com/?ids=FAN_PAGE_ID&fields=name,access_token&access_token=ACCESS_TOKEN

否则访问https://graph.facebook.com/me/accounts&fields=id,name,access_token&access_token=ACCESS_TOKEN

登录到Facebook后。

您将获得由登录用户或所需的粉丝页面处理的帐户列表。在这里,您可以找到您的粉丝页面的详细信息以及access_token。使用该访问令牌而不是普通用户访问令牌。当您使用这个新的访问令牌创建一个帖子时,条目将以页面的名称创建,而不是作为普通的Facebook用户。