我正在嘗試使用 PHP 通過 Canvas API 發(fā)布消息。我相信這比 Canvas 更像是一個 PHP 問題。當(dāng)我為“recipients[]”包含單個用戶 ID(“79”是一個特定的用戶想法并且 API 向他們發(fā)送一條消息 - 如電子郵件)時,以下代碼有效。有關(guān) API 文檔和嘗試發(fā)布到多個 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);這是 Canvas 文檔: https ://edu.pretpriemacedu.mk/doc/api/conversations.html#method.conversations.create具體來說:收件人[] 必需的字符串收件人 ID 的數(shù)組。這些可能是分別以“course_”或“group_”為前綴的用戶 ID 或課程/組 ID,例如收件人[]=1&recipients=2&recipients[]=course_3API 要求為這個“數(shù)組”發(fā)送一個字符串(最后的括號?)。您不能傳遞多個“收件人”字段,因為只有最后一個會記錄(duh)。我認(rèn)為解決方案可能與使用 http_build_query (請參閱https://www.php.net/http_build_query)發(fā)送復(fù)雜/嵌套數(shù)組有關(guān),但我嘗試了各種方法將更多內(nèi)容打包到“recipients []”中,他們都失敗了。任何 PHP 或一般 API 智慧都值得贊賞......
1 回答

陪伴而非守候
TA貢獻(xiàn)1757條經(jīng)驗 獲得超8個贊
帖子參數(shù)(特別是“收件人”)應(yīng)如下所示
$post = [
'recipients' => '59,48,19,55',
'group_conversation' => true,
'bulk_message' => true,
'subject' => $msg_subject,
'body' => $msg_body,
];
或者,也許是以下內(nèi)容:'recipients' => [59,48,19,55]. 但是recipients[]要傳遞一個奇怪的參數(shù),因為它包含特殊字符。
- 1 回答
- 0 關(guān)注
- 119 瀏覽
添加回答
舉報
0/150
提交
取消