分析のためにSnoobi APIにアクセスする必要があります。彼らは、Oauth1 を介して Snoobi API を認証するためのさまざまな手順を提供しています。それらは Snoobi であり、認証のための 2 つの API 呼び出しがあり、最初のリクエストで https://api.snoobi.com/oauth/requesttoken?oauth_callback=にアクセスしてリクエスト URL を取得できます。Bu 2 番目のリクエストの場合、https: //api.snoobi.com/oauth/accesstoken は invlid_signature を返します。私はこの問題を理解することはできません.... 私のサンプル サイトは、これらの認証が DDO oauth1 ライブラリによって行われるサンプル サイトです。認証手順は次のとおりです。ステップ 1: リクエスト トークン Snoobi API のリクエスト トークン エンドポイントは次のとおりです。
https://api.snoobi.com/oauth/requesttoken
リクエストは、URL への HTTP POST で行われます。
https://api.snoobi.com/oauth/requesttoken?oauth_callback=<your application callback, URL encoded>
Authorization ヘッダー OAuth パラメータは HTTP Authorization ヘッダーで送信されます
フィールド 値 oauth_consumer_key アプリケーションのコンシューマ キー (40 文字) oauth_nonce ランダムに生成された ASCII 形式の文字列。ナンスとタイムスタンプの組み合わせが同じである後続のリクエストは無視されます。64 ビットの乱数を使用することをお勧めします。oauth_signature リクエストの署名 oauth_signature_method HMAC-SHA1″ または ″PLAINTEXT oauth_timestamp Unix タイムスタンプ oauth_version 1.0
認証ヘッダーの例 (読みやすくするために改行を追加):
Authorization: OAuth oauth_consumer_key=”2cab9166c5180256f4788a7669c181c84bec61ee”\,oauth_signature_method=”HMAC-SHA1″,\oauth_nonce=”7524122124ddba21d644043.98235934″\
,oauth_timestamp=”1306239517″,\
oauth_version=”1.0″,\
oauth_signature=”kP6LwV%2FJfs9YcG4irDJuoP271uU%3D”
リクエストが成功すると、 /oauth/requesttoken はリクエスト トークンとトークン シークレットを返します。これらは、それぞれパラメーター「oauth_token」と「oauth_token_secret」に入っています。また、レスポンスパラメータ「authentification_url」には認証URLが提供されます。URL はhttps://api.snoobi.com/oauthgrant.phpのようなもので、アプリケーションはユーザーのブラウザをこのアドレスにリダイレクトする必要があります。ユーザーがまだ Snoobi にログインしていない場合は、ログインするように求められます。ログイン後、ユーザーはアプリケーションへのアクセスを許可できるビューに移動します。
Snoobi の OAuth 付与ビュー
ユーザーが [許可] ボタンをクリックすると、コールバック URL にリダイレクトされ、oauth_token と検証ツールが URL パラメーターとして追加されます。
http://youapp.com/callback.php?oauth_token=66393e59b10dddc112a8d1cbca9f9559d01127a1&verifier_token=051dd4f45b791957d8c12b83b9810365bbb50e63
ステップ 2: アクセス トークン アプリケーションがリクエスト トークン、シークレット、ベリファイアを取得したので、アクセス トークン エンドポイントを呼び出して永続的なアクセス トークンを取得する準備が整いました。アクセス トークン エンドポイントは次のとおりです。
https://api.snoobi.com/oauth/accesstoken
認証ヘッダー フィールド 値 oauth_consumer_key アプリケーションのコンシューマー キー (40 文字) oauth_nonce ランダムに生成された ASCII 形式の文字列。ナンスとタイムスタンプの組み合わせが同じである後続のリクエストは無視されます。64 ビットの乱数を使用することをお勧めします。oauth_timestamp Unix タイムスタンプ oauth_version 1.0 oauth_token リクエスト トークン oauth_signature 署名
Authorization: OAuth oauth_verifier=”ff17678750b3ca5b5263babee610bb9f47f7a1b6″,\oauth_consumer_key=”2cab9166c5180256f4788a7669c181c84bec61ee”,\oauth_signature_method=”HMAC-SHA1″,\
oauth_nonce=”2556773534ddb9f01d00518.41306989″,\
oauth_timestamp=”1306238721″,\
oauth_version=”1.0″,\
oauth_token=”f3a4eb25c1267f28d5de54e89a78db48f4d7ed30″,\
oauth_signature=”%2F9y%2BtMdCZk1uRYawXsfWHb%2BPmig%3D”
成功すると、accesstoken サービスはアクセス トークンとシークレットをフィールド oauth_token と oauth_token_secret に返します。