私はimgurのAPIを使用しており、oAuth認証を設定する必要があります。かなり順調に進んでいますが、問題が発生しました...
oAuth request_tokenエンドポイントを取得して成功メッセージを表示できなかったため、imgur devsに連絡すると、重要な情報が提供されました。しかし、私はこの情報がどこから来ているのかわかりませんでした。
私が話している情報は私のoAuth署名です。私はoAuth署名が私のapi_secretにすぎないことを知っていましたが、imgur devによって提供された作業コードには、最後にアンパサンドがタグ付けされていました。
このアンパサンドは、2回URLエンコードされました。から、そして&
へ%26
%2526
API Secret => 7fc6ff69*snip*c4016e7f99e076 // This does not work by itself
[oauth_signature] => 7fc6ff69*snip*c4016e7f99e076%2526 // Works
[oauth_signature] => 7fc6ff69*snip*c4016e7f99e076& // This also works
なぜアンパサンドが必要なのですか?これはバグですか、それとも実際にoAuth 1.0ドキュメントのどこかに記載されていますか?それは常にアンパサンドですか、それとも奇妙な偶然の一致ですか?どこから来たのかわからない...
編集:oauth_signatureはリクエストの最後の変数であるため、別の変数とマージしないでください。基本的に、URLの終わりはアンパサンド(またはHTMLでエンコードされたバージョン)で終わる必要があります。