2016-01-26 14 views
10

スタック交換APIを使用してスタックオーバーフローの問題をupvoteしようとしましたが失敗しました。私はたくさん試しましたが、うまく動作しませんでした。スタック交換APIの使用

URL:

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" 
} 

私は次のパラメータでフィドラーを試しました。

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オブジェクトにサイトを提供しました。だから、どんな助けも高い評価を受けるでしょう。

更新

私はメッセージを次しまったシオマネキでこれをしようとしますが。

enter image description here

+1

お試しください。これもチェックしてください:http://stackoverflow.com/a/29945301/4409113 – Mohsen

+0

他のリクエストは成功しましたか? – Oleksandr

+0

@Alexandr no。まだ答えを得ていない。 – Gunaseelan

答えて

1

あなたはURLの引数としてではなく、リクエストボディに生JSONなどのパラメータを送信する必要があります。

http://api.stackexchange.com/2.2/questions/35007869/upvote?site=stackoverflow.com&key=YOUR_KEY&access_token=YOUR_TOKEN&preview=false&filter=default 
+0

この 'POSTメソッドはすべてのパラメータがクエリ文字列ではなくフォームとして送信されることを期待していますが、次のエラーが発生しています。 ' – Gunaseelan

+0

回答を更新しました。 – imriqwe

+0

それは、クエリ文字列ではないと言いますが、再度クエリ文字列のすべてのパラメータを渡しています。 – Gunaseelan

0

あなたのJSONデータは次のように送っれるべき、それが許可されていない次の行

{"key":"mykey","access_token":"mytoken","site":"stackoverflow.com","preview":"false","filter":"default"} 
+0

イメージのスクリーンショットと同じエラーはありません。 – Gunaseelan

4

は、あなたがそれらを送信する必要があります。以下のPOSTリクエストを送信し、upvoteを行うために 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); 

はここアンドロイドでそれを行うためのガイドです:http://www.onlymobilepro.com/2013/03/16/submitting-android-form-data-via-post-method/

+0

フィドラーで動作するはずのサンプルを投稿できますか? APIが完全に動作することを確認したいので、コードを開始してください。 – Gunaseelan