Whatsapp 业务 - POST Media

问题描述 投票:0回答:1

我正在尝试使用 Facebook Graph API 进行 POST。 我确实遵循了文档。 我还将帖子字段分隔为:文件、类型和 messages_product:相同的结果。

$this->endpoint = 'PHONE_NUMBER_ID/media';
$this->config->default_access_token = 'XXXXXXXX';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/v14.0/'.$this->endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$post = array(
    'file' => '@/var/www/html/6218062.pdf;type=application/pdf',
    'messaging_product' => 'whatsapp'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));

$headers = array();
$headers[] = 'Authorization: Bearer '.$this->config->default_access_token;
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);

print_r($result);

这是结果:

{"error":{"message":"An unknown error has occurred.","type":"OAuthException","code":1,"fbtrace_id":"A_A8o81x3K5kCpGD5cP1rw6"}}

我可以发送消息和一切,但我无法从本地服务器发送包含文档的消息,只能从外部服务器发送消息,例如:https://sitename.com/file/doc.pdf.

我想使用本地服务器中的文件并将其作为消息发送。

有人可以帮助我吗?

facebook facebook-graph-api whatsapp
1个回答
0
投票

我解决了这个问题。

这是工作代码。

$this->endpoint = 'PHONE_NUMBER_ID/media';
$this->config->default_access_token = 'XXXXXXXX';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/v14.0/'.$this->endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$post = array(
    'file' => curl_file_create('/var/www/html/6218062.pdf', 'application/pdf'),
    'messaging_product' => 'whatsapp'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

$headers = array();
$headers[] = 'Authorization: Bearer '.$this->config->default_access_token;
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);

print_r($result);
© www.soinside.com 2019 - 2024. All rights reserved.