2

これが私の問題です。stackexchange 2.0 API を使用して、stackoverflow で現在のユーザー プロファイルの URL を取得しようとしています。ユーザーがログインしている場合、すべてが正常に機能し、OAuth フローによってアクセス トークンが提供され、必要なすべての情報を取得できます。しかし、ユーザーがログインしていない場合、stackexchange はユーザーにいずれかの認証方法 (google、facebook、yahoo など) を使用してログインするように求めますが、ユーザーがログインした後 (Google としましょう) の応答は次のとおりです。悪い要求。

認証コードの最初のリクエストは次のようになります。

https://stackexchange.com/oauth?client_id=193&scope=read_inbox&redirect_uri=https%3a%2f%2fdioslaska.homelinux.org%2fcards%2fcard%2feditcards

この後、URLのコードで返され、次のようなPostリクエストでアクセストークンと交換したい:

https://stackexchange.com/oauth/access_token?client_id=193&redirect_uri=https%3a%2f%2fdioslaska.homelinux.org%2fcards%2fcard%2feditcards&client_secret= {私のクライアント シークレットはこちら}&code=tCEeEFp1UX2GYilnjR2GcA))

応答は、エラー 400 の不正な要求です。stackexchange api のドキュメントを調べたところ、それは不適切なパラメーターであるとしか書かれていません。しかし、すでにログインしているユーザーに対してこれを行うときに同じパラメーターを使用すると、機能します。

私はたくさん検索しましたが、この問題に似たものさえ見つかりませんでした。どんな助けでも大歓迎です!!

(役立つ場合は、Visual Studio 2010 で mvc 3 フレームワークを使用しています)

4

2 に答える 2

0

最終的な POST 要求でヘッダー Content-Type = application/x-www-form-urlencodedを確認します。

これは、ドキュメントに従って必要です。

于 2014-06-01T06:55:06.220 に答える