Php Facebook消息传递API
我正在尝试向自己发送一条消息(由于未发布,因此作为页面管理员)。 我已在我的facebook应用程序上设置了权限并获得了访问令牌,但我收到的消息是,我无法向此id发送消息,如下所示:Php Facebook消息传递API,php,curl,facebook-graph-api,Php,Curl,Facebook Graph Api,我正在尝试向自己发送一条消息(由于未发布,因此作为页面管理员)。 我已在我的facebook应用程序上设置了权限并获得了访问令牌,但我收到的消息是,我无法向此id发送消息,如下所示: object(stdClass)#21 (1) { ["error"]=> object(stdClass)#20 (4) { ["message"]=> string(59) "(#100) Parameter error: You cannot send messages
object(stdClass)#21 (1) {
["error"]=>
object(stdClass)#20 (4) {
["message"]=>
string(59) "(#100) Parameter error: You cannot send messages to this id"
["type"]=>
string(14) "OAuthException"
["code"]=>
int(100)
["fbtrace_id"]=>
string(11) "Be4HuMv5xOZ"
}
}
这是我的代码:
public function Sendfb()
{
$request = 'https://graph.facebook.com/v3.3/me/messages?access_token=xxx';
$body = array(
'messaging_type' => 'RESPONSE',
'recipient' => array('id' => 'xxx'),
'message' => array('text' => 'Hello Messaging world')
);
$body = json_encode($body);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($body))
);
$output = curl_exec($ch);
$output = json_decode($output);
curl_close($ch);
var_dump($output);
}
我还需要做些什么吗?您只能“回复”一条消息,但无法与页面开始对话。如果没有该ID,您将不会有任何可用的ID:
该id必须是通过Messenger条目检索到的id
指向或通过Messenger网络钩子(例如,一个人可能会发现
在Messenger中完成您的业务,并从此处开始对话
这些ID是页面作用域ID(PSID)。这意味着这些ID是
对于给定页面是唯一的
如果您已有Facebook登录集成,则用户ID为
应用程序范围已确定,无法与Messenger平台一起使用
来源:您只能“回复”一条消息,但无法与您的页面开始对话。如果没有该信息,您将无法获得任何可用的ID:
该id必须是通过Messenger条目检索到的id
指向或通过Messenger网络钩子(例如,一个人可能会发现
在Messenger中完成您的业务,并从此处开始对话
这些ID是页面作用域ID(PSID)。这意味着这些ID是
对于给定页面是唯一的
如果您已有Facebook登录集成,则用户ID为
应用程序范围已确定,无法与Messenger平台一起使用
来源:你为什么要给自己发送消息,是什么让你认为这是可能的?你甚至不能在facebook.com上这样做。或者你的意思是“从页面到用户档案”?在这种情况下:你是否先从你的个人资料向页面发送消息?实际上是我管理的一个页面,它正在向我发送消息,这在facebook上是可能的。我想发送给我,因为文档说,如果页面未发布,你只能发送给管理员。你为什么要向自己发送消息,以及是什么让你这样做这是可能的吗?你甚至不能在facebook.com上这么做。或者你的意思是“从页面到用户档案”?在这种情况下:您是否先从您的个人资料向页面发送消息?实际上是我管理的一个页面,它正在向我发送消息,这在facebook上是可能的。我想将其发送给我,因为文档说,如果页面未发布,您只能发送给管理员。您是说id不是fb用户id?而是conv的idErsation你是怎么得到身份证的?你是怎么得到这个身份证的?这在我的回答中有解释:)-当用户向您的页面写入消息时,您就知道了。那么,您是如何获得id的?我以为该id是用户配置文件id。您知道如何获得对话id吗?那么您是说该id不是fb用户id?而是会话id。您是如何获得id的?您如何获得该id?这在我的文章中进行了解释回答:)-当用户向您的页面写入消息时,您会得到它。那么你是怎么得到这个id的呢?我以为这个id就是用户配置文件id。你知道怎么得到对话id吗?