java - 使用堆栈交换 API

标签 java php android json stackexchange-api

我试图用堆栈交换 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 中尝试此操作时,我收到以下消息。

enter image description here

最佳答案

您需要将它们作为表单数据发送,使用 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/

相关文章:

java - 如何以编程方式更改应用程序通知徽章计数而不发送通知(java/android)

java - 更改自定义组件 JTable 的 LookAndFeel

php - 一个 html 表中的两个 While 循环

android - 如何创建一条短边的矩形?

java - 长时间运行后,Volley 导致服务崩溃应用程序

java - 在 JButton 中使用匿名 ActionListener 隐藏 JFrame

java - 将 Collections.Frequency 与 List<SomeBeanType> 一起使用

php - 使用 regexr 工具识别 (weat)her

javascript - jquery中解析JSON数据的问题

android - 当从 firebase 推送通知时打开特定 Activity