原文:http://developer.myspace.com/community/myspace/dataavailability.aspx
MySpaceID
はじめに
MySpace の MySpaceIDプロジェクトとは、MySpace
の外部から内部のソーシャル・ネットワークを活かす機会を、開発者の皆さんに提供するプロジェクトです。これは、ソーシャルウェブ全体で、ユーザーのアイ
デンティティにアクセス可能とし、MySpace
ユーザーに価値を提供します。ここでは、プライバシーやアクセスに関し、ユーザーの強力なコントロールを可能とする、オープンな標準ベースのアプローチを
採用しています。開発者として、DA は、MySpace ユーザーに、MySpace
アカウントと開発者のサイトをリンク可能とし、機能を向上するために、MySpace が提供する OpenSocial REST API と
MySpace 独自の REST API にて、以下の情報が取得いただけます。
- プロフィール情報
- メディア(画像やビデオ等)
- ソーシャルグラフ(ユーザー間の公開されているフレンド関係)
この機能は認証に OAuth プロトコルを利用します。
MySpace と OAuth
MySpace は、OAuth 標準仕様(http://oauth.net/core/1.0/)
と HTTP リクエストの署名をサポートします。外部サイトは、MySpace
承認ページにてアクセストークンを取得し、ユーザーのデータへのアクセス許可を取る必要があります。 このアクセストークンは、MySpace
REST API に対し、ユーザーのデータを求める HTTP リクエストで使用されます。 リクエストに署名することによって、MySpace
側にて、MySpace API の利用者を認証することができます。OAuth
は、アプリケーション承認やデジタル署名を作成する仕様を標準化します。開発者は、API にリクエストするために、MySpace
からキーのペアを取得しなければいけません。最初のキーである oauth_consumer_key
は、パートナーを識別するために使用されます。2番目のキーは、HMAC-SHA1
を使用し、デジタル署名を作成するために使用される共有秘密キーです。この共有秘密キーは、いかなる場合でも公開にしてはいけません(HTTP
リクエストやJavaScriptコード等を含む)。OAuthに関する詳しい情報や、OAuth ツールのクイック・リファレンスガイドは、こちらをご覧ください。
アプリケーションのセットアップ
開発者の皆さんが、MySpace API で使用されるキーのペアを取得するには、MySpace Developer Platform サイト(My Apps > 新しいアプリケーションの作成)
で、新しいアプリケーションをセットアップするか、あるいは既存のアプリケーションを使用しなければいけません。開発者の皆さんが、外部サイトから
API にアクセスするために必要であるセッションベースの認証を使用するには、 MySpace
アプリケーションを構築または編集する際に、2つの重要なフィールドを定義しなければいけません。
- 外部ドメイン - このフィールドは、以下に記載されたアクセス委任ワークフローで提供される oauth_callback パラメーターと照らし合わせて、妥当性を確認します。これは、パラメーターの URL 値と同じドメインでなければいけません。
- 外部URL - これは、ユーザーや当社のレビューチームを、皆さんのアプリケーションに導くための URL です。
これらの値を設定するには、以下の操作を行います。
- MyApps(マイアプリケーション) をクリックします
- 詳細を編集リンクをクリックします
- 外部サイト設定にスクロールダウンし、外部ドメインを使用するチェックボックスを選択します

- 外部ドメインを使用するチェックボックスを選択すると、上記に記載された外部 URL フィールドと、外部ドメインフィールドが表示されます

- 外部 URL と外部ドメインを入力します
- 保存ボタンをクリックします
アクセス認可
アクセス認可ワークフローは、MySpace API に対し、特定のユーザーに関するリクエストで使用するトークンを、外部サイトが取得できるプロセスです。このワークフローには、以下3つのステップがあります。
- リクエスト・トークンの取得
- ユーザー承認を実際に取得
- アクセス・トークンの取得
注記:このワークフローの詳細は、下記のホームページに記載されています。
http://oauth.net/core/1.0/#anchor9
リクエストトークン
URI (
http://api.myspace.com/request_token) にアクセスすることによって、トークンをリクエストします。
このリクエストは、上記に概略を説明したように、MySpace でアプリケーションを作成し、取得したコンシューマーキーと共有シークレットを使用し、デジタル署名しなければいけません。
ユーザー承認
あなたのアプリがリクエスト・トークンを取得するだけでユーザーのデータにアクセスはできません。ユーザーがアプリからのデータアクセスを承認するために、ユーザーを以下の URIへアクセスさせなければなりません。
http://api.myspace.com/authorize
ユーザーが はい、このアカウントをリンクします ボタンをクリックし同意した場合、開発者が予め設定した oauth_callback url にリダイレクトします。
アクセストークン
承認を受けると、外部サイトは、(http://api.myspace.com/access_token)の URI で、承認されたリクエストトークンを、セッションベースのアクセストークンに交換することができます。
この URI へのリクエストは、以下に概略を説明するように、デジタル署名を行わなければいけません。アクセストークンの取得は、OAuth 仕様にて説明したステップのように行います。
http://oauth.net/core/1.0/#auth_step3
HTTP レスポンスのボディは、アクセストークンと、以下のような形式のトークンシークレットを含みます。
oauth_token=nnch734d00sl2jdk&oauth_token_secret=hdhd0244k9j7ao03
これらの値は、oauth_token_secret(文字列の長さが0の場合)を含め、MySpace REST API にログインしているユーザーのデータをリクエストするために使用されます。
署名リクエスト
署名リクエストの詳細は、こちら(http://oauth.net/core/1.0/#signing_process)の OAuth 仕様をご参照下さい。
署名リクエストでは、以下のステップを行います。
- リクエストの要素から、基本文字列を作成します(oauth_* パラメーターを含む)。基本文字列の作成に関する詳細は、OAuth 仕様のセクション9.1に記載されています。
http://oauth.net/core/1.0/#anchor14 - この基本文字列と HMAC-SHA1
単一方向のハッシュアルゴリズムのパートナー共有秘密キーを使用し、署名を作成します。注記:OAuth
は、特定の署名方法を義務付けていませんが、MySpace REST API へのリクエストの場合は、HMAC-SHA1
を使用しなければいけません。HMAC-SHA1
にて使用されるキーは、パートナー共有秘密キーと、アンパサンド(&)で区切られるトークンシークレットが結合したものです。トークンシークレッ
トは、アクセストークンへのリクエストのボディで提供されることもありますが、提供されない場合、キーの値は、空の文字列にします。この場合、HMAC-
SHA1 キーは、パートナー共有シークレットの後にアンパサンドが続くのみとなります。
- oauth_* パラメーターを、HTTPのAuthorizationヘッダーまたはクエリーパラメーターのいずれかで、リクエストに含めます。この概要は、こちらの OAuth 仕様に記載されています。
http://oauth.net/core/1.0/#auth_header
MySpace Developer Platform サイトには、 OAuth 署名リクエストのサンプルを作成できるツールがあります。
http://developer.myspace.com/modules/apis/pages/oauthtool.aspx
参照リンク
OAuth 署名リクエストのサンプル作成ツール:
http://developer.myspace.com/modules/apis/pages/oauthtool.aspx
OAuthに関する詳しい情報:
http://developer.myspace.com/community/myspace/oauthintro.aspx
MySpaceID RESTリソース:
http://developer.myspace.com/community/myspace/da.aspx
参考和訳(http://developer.myspace.com/Community/forums/t/7060.aspx)