你是在设置原型吗?今后如果你能包含你发送的请求,将更便于我们提供帮助。
以下示例在我这里可以正常工作:
curl https://$DISCOURSE_HOSTNAME/posts \
-H "api-key: $DISCOURSE_API_KEY" \
--data 'title=Testing PM creation&archetype=private_message&target_recipients=user1,user2' \
--data-urlencode 'raw=PM body, long enough to meet site rules & may be complex ♥'
如果你使用的是 all_users 类型的 API 密钥,还需要指定 api-username。
3 个赞
谢谢,问题已解决!不,由于 API 文档中并未将 archetype 列为必填项(甚至不像 target_usernames 那样注明“仅限私信必填”),也没有说明其用途,所以我并未对其进行任何操作。
无论如何,现在这已经可以正常工作了。供遇到相同问题的人参考(尤其是使用 POST 方法时),我成功请求中 JSON 编码的正文元素如下:
| key |
value |
| raw |
原始消息文本 |
| title |
消息/线程标题 |
| target_usernames |
逗号分隔的用户名列表 |
| archetype |
字面字符串 private_message |
该内容作为 POST 请求的正文发送至 /posts.json,并包含以下自定义请求头字段:
| key |
value |
| Content-Type |
application/json; charset=UTF-8 |
| Api-Key |
密钥数据 |
| Api-Username |
用户名 |
2 个赞