署名の作成
HTTP Method | POST |
Base URL | https://api.x.com/1.1/statuses/update.json |
パラメータの収集
status | Hello Ladies + Gentlemen, a signed OAuth request! |
include_entities | true |
oauth_consumer_key | xvz1evFS4wEEPTGEFPHBog |
oauth_nonce | kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg |
oauth_signature_method | HMAC-SHA1 |
oauth_timestamp | 1318622958 |
oauth_token | 370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb |
oauth_version | 1.0 |
- 署名対象となるすべてのキーと値をパーセントエンコードします。
- エンコード後のキーに基づいて、パラメータ一覧をアルファベット順に[1]並べ替えます[2]。
- 各キー/値ペアについて:
- 出力文字列にエンコード済みキーを追加します。
- 出力文字列に「=」文字を追加します。
- 出力文字列にエンコード済み値を追加します。
- さらにキー/値ペアが残っている場合は、出力文字列に「&」文字を追加します。
status | Hello Ladies + Gentlemen, a signed OAuth request! |
---|---|
include_entities | true |
oauth_consumer_key | xvz1evFS4wEEPTGEFPHBog |
oauth_nonce | kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg |
oauth_signature_method | HMAC-SHA1 |
oauth_timestamp | 1318622958 |
oauth_token | 370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb |
oauth_version | 1.0 |
署名ベース文字列の作成
- HTTP メソッドを大文字に変換し、その値を出力文字列とします。
- 出力文字列に「&」文字を追加します。
- URL をパーセントエンコードし、出力文字列に追加します。
- 出力文字列に「&」文字を追加します。
- パラメータ文字列をパーセントエンコードし、出力文字列に追加します。
署名キーの取得
Consumer secret | kAcSOqF21Fu85e7zjz7ZN2U4ZRhfV3WpwPAoE3Z7kBw |
OAuth token secret | LswwdoUaIvS8ltyTt5jkRh4J50vUPVVHtR2YPi5kE |
Signing key | kAcSOqF21Fu85e7zjz7ZN2U4ZRhfV3WpwPAoE3Z7kBw&LswwdoUaIvS8ltyTt5jkRh4J50vUPVVHtR2YPi5kE |
署名の計算
OAuth 署名 | Ls93hJiZbQ3akF3HF3x1Bz8/zU4= |