次のような URL を使用して、REST API から JSON データを取得する Spotify アプリを構築しています。
http://www.mydomain.com/api/command?option=value
Spotify アプリのマニフェストで、API ホストに必要なアクセス許可を設定しました。
"RequiredPermissions": [ "http://*.mydomain.com" ]
また、API の応答ヘッダーで Cross-Origin Resource Sharing を構成しました。実際の例を次に示します。
Server: nginx/0.7.65
Date: Thu, 08 Dec 2011 09:07:16 GMT
Content-Type: application/json
Connection: keep-alive
X-Powered-By: Mojolicious (Perl)
Set-Cookie: mojolicious=eyJwcmVmcyI6e30sImZpbHRlcnMiOnsicGllciI6eyJzb3VyY2VzIjpbMjBdfSwiZWxlYyI6eyJzb3VyY2VzIjpbMTMsMTddLCJ4dGFncyI6WyJzaG9lZ2F6ZSJdLCJ0YWdzIjpbImVsZWN0cm9uaWMiXX0sInB1bmtkdWIiOnsieHRhZ3MiOlsicmVnZ2FlIl0sInRhZ3MiOlsicHVuayIsImR1YiJdfX0sImV4cGlyZXMiOjEzMjMzMzg4MzZ9--c6d6214525b5d56785eebc99217394a1; Version=1; Path=/; expires=Thu, 08 Dec 2011 10:07:16 GMT
Content-Length: 23381
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET
Access-Control-Allow-Headers: *
200 OK
Spotify の chrome インスペクターのネットワーク タブで、リクエストがキャンセルされていることがわかります。
Name: command www.mydomain.net/api
Method: GET
Status Text: (canceled)
Type: undefined
Initiator: jquery-1.js:7180 (Script)
Size Content: 13B (0B)
Time Latency: 21ms (0.0 days)
デスクトップ (Spotify 以外) の Chrome でアプリを実行すると、リクエストはキャンセルされず、すべて問題ありません。
私は何を間違っていますか?それとも、これは Spotify プレビュー リリースのバグ (機能?) でしょうか?