我正在尝试运行以下 pl/sql (oracle) 脚本:
DECLARE
v_step VARCHAR2(100) := 'START';
v_url VARCHAR2(500) := 'https://graph.facebook.com/v17.0/108673784/messages';
v_req UTL_HTTP.REQ;
v_res UTL_HTTP.RESP;
--v_data VARCHAR2(32000);
v_dataCLOB;
v_resp CLOB;
v_json VARCHAR2(500);
BEGIN
v_json := '{"messaging_product":"whatsapp","to":"507661354","type":"template","template":{"name":"hello_world","language":{"code" :"in U.S"}}}';
v_step := 'CREATETEMPORARY';
DBMS_LOB.CREATETEMPORARY(v_resp, FALSE);
v_step := 'DETAILED_EXCP';
UTL_HTTP.SET_DETAILED_EXCP_SUPPORT(TRUE);
v_step := 'BEGIN_REQUEST';
v_req := UTL_HTTP.BEGIN_REQUEST (v_url, 'POST', 'HTTP/1.1');
v_step := 'SET_HEADER';
UTL_HTTP.SET_HEADER (v_req, 'Content-Type', 'application/json; charset=utf-8');
UTL_HTTP.SET_HEADER(v_req, 'Authorization', 'Bearer EAADXgRwds9gBAPB9VjEzHxWzxBOgb44ToZAc8bJKkBSOmwkBgrBExyrN4bJBMScKmXQ6AxJFOZCbZCZC6OIL8GzTNcPRhvqMz9pxH4YqZA3 D9jcLFHjJfXZCV16aP0iiqbV7wKJB8FuYhTVu1Mavv6OgZA1omb33TH5QkentZBOJknGgOTtejvFIrb5N9DSQZDZD');
v_step := 'WRITE_TEXT';
UTL_HTTP.WRITE_TEXT(v_req, v_json);
v_step := 'GET_RESPONSE';
v_res := UTL_HTTP.GET_RESPONSE(v_req);
BEGIN
LOOP
v_step := 'READ_TEXT';
UTL_HTTP.READ_TEXT(v_res, v_data, 32000);
v_step := 'WRITEAPPEND';
DBMS_LOB.WRITEAPPEND(v_resp, LENGTH(v_data), v_data);
DBMS_OUTPUT.put_line('Response: ' || v_data);
END LOOP;
v_step := 'END_RESPONSE';
UTL_HTTP.END_RESPONSE(v_res);
EXCEPTION
WHEN utl_http.end_of_body THEN
v_step := 'END_RESPONSE-FAIL';
UTL_HTTP.END_RESPONSE(v_res);
END;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.put_line('Error: ' || SQLERRM||v_step);
END;
我得到了这样的回应:
{"error":{"message":"(#100) The parameter messaging_product is
required.","type":"OAuthException","code":100,"fbtrace_id":"A24Dw8ken5nATAsQnuqB
oDK"}}
这很奇怪,因为如果你在脚本中看到参数被发现,
如果我从邮递员手动运行相同的内容,它就可以正常工作。
我期望发生的是直接自动消息发送到whatsapp
我也遇到同样的错误,请问你解决了吗?