我正在尝试向用户发送消息。我使用消息对象,但它不起作用。下面是我的代码:
$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用户。