รายละเอียดสำหรับฟังก์ชัน Script.Util.HttpResponse

Oct 11 2020

ใครสามารถให้โค้ดตัวอย่างสำหรับฟังก์ชันScript.Util.HttpResponseหรือชี้ไปที่ทรัพยากรที่ดีกว่าเอกสารช่วยเหลือเหล่านี้

คำตอบ

4 Gortonington Oct 12 2020 at 01:16

ตามหมายเหตุScript.Util.HttpResponseไม่ใช่ฟังก์ชันผู้ใช้ แต่จะเป็น Response Object จากการเรียก Script.Util อื่นแทน

สำหรับรายละเอียดในการแยกวิเคราะห์ข้อมูลอย่างถูกต้องฉันจะดูบทความของฉันใน Script.Util.HttpRequestเกี่ยวกับวิธีจัดการการตอบสนองจากการโทร ( การแยกวิเคราะห์ผลลัพธ์ ) สิ่งนี้กล่าวถึงวิธีการดึงข้อมูลจากอ็อบเจ็กต์ที่ส่งคืนของการเรียก HttpRequest ซึ่งตามความเป็นจริงอ็อบเจ็กต์ Script.Util.HttpResponse ตามที่ระบุไว้ในเอกสารอย่างเป็นทางการ

ดังที่แสดงในเอกสารพารามิเตอร์ต่อไปนี้สามารถใช้ได้จากวัตถุ:

  1. เนื้อหา - ค่าสตริงที่มีเนื้อหาตอบกลับ HTTP ที่ส่งคืนจาก URL
  2. contentType - ค่าสตริงที่ระบุประเภทเนื้อหาที่ส่งคืนโดยการตอบกลับ
  3. การเข้ารหัส - ค่าสตริงที่ระบุการเข้ารหัสที่ส่งกลับโดยการตอบสนอง
  4. ส่วนหัว - อ็อบเจ็กต์ที่มีคอลเล็กชันส่วนหัวการตอบกลับ HTTP ที่ส่งคืนจากการตอบกลับ
  5. returnStatus - ค่าจำนวนเต็มที่มีการตอบสนองของ Marketing Cloud สำหรับคำขอ:
  • 0 - ตกลง
  • -1 - URL ว่างเปล่า
  • -2 - การโทรล้มเหลว
  • -3 - โทรสำเร็จโดยมีเนื้อหาว่างเปล่า
  1. statusCode - ค่าจำนวนเต็มที่มีรหัสสถานะการตอบกลับ HTTP ที่ส่งคืนจาก URL เช่น 200, 404 หรือ 500

คุณจะใช้สิ่งเหล่านี้ด้านล่าง:

//assuming var res is the response object from an HttpRequest call
var content = res.content; 
var contentType = res.contentType;
var encoding = res.encoding;
var headers = res.headers["myHeaderName"];
var status = res.returnStatus
var code = res.statusCode

แม้ว่าจะres.contentมีการส่งคืนบันทึกย่อสองรายการเป็นวัตถุ CLR ซึ่งไม่สามารถใช้งานร่วมกับ SFMC SSJS ได้ดังนั้นคุณจะต้องแปลงเป็นสตริงจากนั้นใช้ ParseJSON เพื่อเปลี่ยนเป็นวัตถุ / อาร์เรย์ที่เป็นที่รู้จักเพื่อส่งออก

ชอบด้านล่าง:

var resStr = String(res.content);
var resJSON = Platform.Function.ParseJSON(resStr);

หมายเหตุ : หากคุณใช้ Stringify แทนสิ่งนี้จะไม่ทำงาน คุณต้องเปลี่ยนประเภทข้อมูลของออบเจ็กต์เป็น String มิฉะนั้นจะแสดงผลไม่ถูกต้องจาก JSON เวอร์ชัน String คุณสามารถแยกวิเคราะห์สิ่งนั้นเป็น JSON ที่คุณสามารถโต้ตอบได้


หมายเหตุเกี่ยวกับ
HEADERS : แก้ไข 2020-11-09 - จากข้อมูลที่รวบรวมในชุดข้อความนี้หากคุณได้รับข้อผิดพลาดเกี่ยวกับ"Use of Common Language Runtime (CLR) is not allowed"เมื่อทำงานกับส่วนหัวคุณจะต้องพูดคุยกับฝ่ายสนับสนุนเพื่อเปิดใช้กฎทางธุรกิจที่เกี่ยวข้องเพื่ออนุญาตสิ่งนี้


ทั้งหมดที่กล่าวมานี้อาจมีนิสัยใจคอหรือตัวเลือกอื่น ๆ เกี่ยวกับวัตถุนี้ที่ฉันไม่รู้เพราะฉันยังไม่ได้ทำการค้นคว้าเกี่ยวกับเรื่องนี้มากเกินไป โปรดอย่าลังเลที่จะสำรวจและเพิ่มความคิดเห็นใด ๆ ที่นี่หากคุณพบว่ามีอะไรเจ๋ง ๆ