[英]How can I POST to multiple IDs from an API endpoint using PHP and CURL?
我正在嘗試使用 PHP 通過 Canvas API 發布消息。
我相信這比 Canvas 更像是一個 PHP 問題。
當我為“收件人[]”(“79”是一個特定的用戶想法,API 向他們發送一條消息 - 就像一封電子郵件)包含一個用戶 ID 時,以下代碼有效。
有關 API 文檔和嘗試發布到多個 ID 的問題,請參見下文。
$post = [
'recipients[]' => 79,
'group_conversation' => true,
'bulk_message' => true,
'subject'=>$msg_subject,
'body'=>$msg_body,
];
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $token_url,
CURLOPT_HTTPHEADER => $header,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $post,
CURLOPT_RETURNTRANSFER => true
));
$lti_msgresponse = curl_exec($curl);
curl_close($curl);
echo($lti_msgresponse);
這是畫布文檔: https : //edu.pretpriemacedu.mk/doc/api/conversations.html#method.conversations.create
具體來說:
收件人[] 必填
細繩
一組收件人 ID。 這些可能是分別以“course_”或“group_”為前綴的用戶ID或課程/組ID,例如recipients[]=1&recipients=2&recipients[]=course_3
API 調用要為此“數組”發送的字符串(末尾的括號?)。 您不能傳遞多個“收件人”字段,因為只有最后一個會記錄(廢話)。
我認為一個解決方案可能與使用 http_build_query (見https://www.php.net/http_build_query )發送復雜/嵌套數組有關,但我嘗試了各種方法將更多內容打包到“收件人[]”中,他們都失敗了。
任何 PHP 或通用 API 智慧都值得贊賞......
帖子參數(特別是“收件人”)應如下所示
$post = [
'recipients' => '59,48,19,55',
'group_conversation' => true,
'bulk_message' => true,
'subject' => $msg_subject,
'body' => $msg_body,
];
或者,也許是以下內容: 'recipients' => [59,48,19,55]
。 但是recipients[]
將是一個奇怪的參數,因為它包含特殊字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.