غير قادر على إضافة منشور Whisper باستخدام API

أنا غير قادر على إضافة منشور سري (Whisper) باستخدام واجهة برمجة التطبيقات (API). أقوم بتمرير حقل Whisper إلى true في هيكل Go المعطى.

type Post struct {
	TopicID   int       `json:"topic_id"`
	Raw       string    `json:"raw"`
	CreatedAt time.Time `json:"created_at"`
	PostType  int       `json:"post_type"`
	Whisper   bool      `json:"whisper"`
}

لا يبدو أن تعيين whisper إلى true أو post_type إلى 4 يعمل بالنسبة لي. يتم إضافة المنشور لكنه ليس منشورًا سريًا. ومع ذلك، أستطيع إضافة منشور سري عبر واجهة المستخدم، مما يوضح أن هذه ليست مشكلة صلاحيات. هل يمكن لأحد مساعدتي في معرفة ما أفعله خطأ؟

لا ينبغي أن يكون post_type ضروريًا. إذا كان يحتوي على topic_id، فسيكون معروفًا أنه منشور وليس موضوعًا جديدًا. هذا هو الطريقة التي أستخدمها مع curl:

curl -i -sS -X POST "http://localhost:3000/posts.json"  \
-H "Content-Type: multipart/form-data;"  \
-H "Api-Key: 079fb2bb12d3b436bb11bde8eb58aaa9a36560fa7d79b14b3087aa40b1ebc2c4"  \
-H "Api-Username: blake.erickson"  \
-F "raw=92d2e4a938f8d2c65e3fbbcf68e4c272 374f11b3488a03d5d299e862003b09a3 76cdef8f63901f150f2bbf5579cd0b22"  \
-F "topic_id=11"  \
-F "whisper=true"

HTTP/1.1 200 OK

يبدو أن هذا يعمل، لكن لماذا لا يتم إرجاع whisper=true في الاستجابة؟ بدلاً من ذلك، أرى post_type=4 في جميع الرسائل السرية بدلاً من post_type=1. هل هذا يعني شيئًا أم لا؟

نعم، هذا أمر جيد. post_type=4 هو منشور سري، مما يعني أنه تم إنشاؤه بنجاح. إذا عاد بقيمة post_type=1، فهذا يعني أنه ليس منشورًا سريًا، بل مجرد منشور عادي.

واجهة إنشاء المنشورات لا تسمح لك بتمرير post_type، بل تتطلب منك تحديد whisper=true بدلاً من ذلك.