我正在尝试向用户发送消息。我使用消息对象,但它不起作用。这是我的代码:
$sAccessToken = $facebook->getAccessToken();
$aParams = array(
'method'=> 'message',
'format' => 'post',
'from'=> $sFrom,
'to' => $aTo,
'message' => $sMessage,
'access_token' => $sAccessToken,
);
$facebook->api($aParams);
我的错误只有消息:未知方法
请求帮助。
答案 0 :(得分:0)
新的Message GraphAPI端点尚未就绪,因此可能就是您遇到此问题的原因。
请注意:我们正在制作新邮件系统 所有用户都可以使用,此时此API将替换 / inbox / graph API端点。我们提供此API的早期访问权限 仅适用于已注册的开发者帐户,直到新的邮件系统 广泛可用。您应该使用/ inbox端点 目前的生产应用。
答案 1 :(得分:0)
您是否尝试在用户的墙上发帖。如果是这样,从你发布的内容中就有一个错误。方法应该是POST not 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。
无论如何,以下面给出的格式执行链接肯定会起作用
其中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用户创建帖子。为此,您需要manage_pages和publish_stream扩展权限。
<强> STEPS 强>
如果您知道粉丝页面的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用户。