我试图用堆栈交换 api 对一个 stackoverflow 问题进行投票,但失败了。我已经尝试了很多,但没有成功。
网址:
http://api.stackexchange.com/2.2/questions/35007869/upvote
文档
https://api.stackexchange.com/docs/upvote-question
Json 数据:
{
"key" : "my key",
"access_token" : "my token",
"site" : "stackoverflow.com",
"preview" : "false",
"filter": "default"
}
我尝试使用以下参数通过 fiddler。
User-Agent: Fiddler
Host: api.stackexchange.com
Content-Length: 159
Content-Type: application/json; charset=utf-8
和POST
方法。但是我失败了,出现了以下错误消息。
error_id=400
error_message=site is required
error_name=bad_parameter
但是我已经在我的 JSON 对象中提供了站点。因此,我们将不胜感激任何帮助。
更新
在 fiddler 中尝试此操作时,我收到以下消息。
最佳答案
您需要将它们作为表单数据发送,使用 Javascript 会像这样:
var request = new XMLHttpRequest();
request.open('POST', 'http://api.stackexchange.com/2.2/questions/35007869/upvote', true);
var formData = new FormData();
formData.append('key', 'my key');
formData.append('access_token', 'my token');
formData.append('site', 'stackoverflow.com');
formData.append('preview', 'false');
formData.append('filter', 'default');
request.send(formData);
以下是使用 Android 执行此操作的指南:http://www.onlymobilepro.com/2013/03/16/submitting-android-form-data-via-post-method/
关于java - 使用堆栈交换 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35022905/