プロファイル情報の取得
購入者のローカルアカウントを生成するために、アクセストークンを認証し、返されたプロファイル情報のハンドリングを行うことで、Amazonアカウントから購入者のプロファイル情報を取得することができます。
プログラミング言語ごとの処理は次のサンプルコードの詳細を確認してください。
- Javaのサンプルコードはこちらを参照ください。Get Login Profile API
- PHPのサンプルコードはこちらを参照ください。Obtain profile information (getUserInfo method)
- Rubyのサンプルコードはこちらを参照ください。Get Login Profile API
- C#のサンプルコードはこちらを参照ください。Obtain profile information (GetUserInfo method)
- Pythonのサンプルコードはございませんが、Python SDKのget_login_profile methodを参照ください。Amazon Pay Python SDK
- JavaScriptコードサンプル
retrieveProfile API呼び出しを生成するためにアクセストークンとコールバック関数を利用します。詳しい情報は「AmazonログインJavaScript SDKリファレンス」を参照してください。
次のサンプルコードは、AmazonログインJavaScript SDKを利用してAmazonの顧客プロファイルをリクエストする方法を表します。
amazon.Login.retrieveProfile(response.access_token,function (profileResponse) {
// this callback is executed Asynchronously!!
// check if the profile request was successful
if(profileResponse.success) {
// request was successful
console.log("Buyer Name = " + profileResponse.profile.Name);
console.log("Buyer Email = " + profileResponse.profile.PrimaryEmail);
console.log("Buyer Zip = " + profileResponse.profile.PostalCode);
console.log("Amzn Customer ID = " + profileResponse.profile.CustomerId);
}
});
<body>タグのAmazonログインボタン後にこのコードを配置します。www.example.comをWebサイトのドメインに変更してください。
一度、購入者がログインし、プロファイル情報の共有に同意している現在のウィジェットは与えられたURIにリダイレクトされ、認証レスポンスはクエリー文字列に追加されます。URIはHTTPSプロトコルを使わなければならず、本番環境では、現在のウィンドウは同じドメインである必要があります。
<script type="text/javascript">
document.getElementById('LoginWithAmazon').onclick = function() {
options = { scope : 'profile' };
amazon.Login.authorize(options,
'https://www.example.com/handle_login.php');
return false;
};
</script>
Webサイトにて、/handle_login.php でAmazonからのレスポンスを制御します。後から選択したいずれかにこのpathを変更することができます。
amazon.Login.retrieceProfile関数は3つのパラメータ(success、error、profile)を返します。successは呼び出しが成功されたどうか示します。エラーが発生した場合は、エラーパラメータはエラーメッセージを返します。エラーが無かった場合は、profileは購入者プロファイルを含みます。