繁体   English   中英

Whatsapp Cloud Api 获取媒体对象 ID

[英]Whatsapp Cloud Api get Media Object ID

我想通过 Whatsapp 云 API 上传媒体以便将媒体发送到 WhatsApp,我已经按照下面的链接进行操作,但遇到了上述问题。

https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#get-media-id

Array ( [error] => Array ( [message] => (#100) 参数messaging_product 是必需的。[type] => OAuthException [code] => 100 [fbtrace_id] => AQPftb9Bf343375gQ_QytxNen ) ) 400

我的代码是


// @1640191015925.jpg on my root folder
$post = [
    'file' => '@1640191015925.jpg;type=image/jpeg',
    'messaging_product'   => 'whatsapp'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/v13.0/Phone-Number-ID/media');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$headers = array();
$YOUR_WHATSAPP_ACCESS_TOKEN = '+++++++';
$headers[] = "Authorization: Bearer $YOUR_WHATSAPP_ACCESS_TOKEN";
$headers[] = "Content-Type: image/jpeg";


curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = json_decode(curl_exec($ch), true);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

//$MEDIA_OBJECT_ID = $result['media'][0]['id']; //MEDIA OBJECT ID
print_r($result);
print_r($httpcode);

?> ```




我遇到了同样的问题,经过一番挖掘后,我编写了这个函数来上传文件并返回 id。

function waFileUploader($token, $file, $senderid){
  $mime = mime_content_type($file);
  $info = pathinfo($file);
  $name = $info['basename'];
  $curlfile = new CURLFile($file, $mime, $name);
  $filedata = array("messaging_product"=>"whatsapp", "file" => $curlfile);
  $url = 'https://graph.facebook.com/v13.0/' . $senderid . '/media';
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_HTTPHEADER,array("Authorization: Bearer $token", "Content-Type: multipart/form-data"));
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $filedata);
  $r = curl_exec($ch);
  curl_close($ch);
  $id = json_decode($r, true);
  return $id["id"];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM