は、私は私のSpotifyはアプリでSpotify Appで外部APIへのJSONリクエストがキャンセルされるのはなぜですか?
http://www.mydomain.com/api/command?option=value
のようなURLを使用して、RESTのAPIからJSONデータを引っ張るSpotifyはアプリケーションを構築していマニフェスト私は私のAPIのホストのために必要なアクセス許可を設定している:
"RequiredPermissions": [ "http://*.mydomain.com" ]
を
私は、APIの応答ヘッダーでクロスソースリソース共有を設定しました。ここでは実際の例である:私は私のアプリを実行した場合
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はで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
は、クロムインスペクタネットワーク]タブでは、私は、要求がキャンセルされていることを確認私のデスクトップ上のChrome(Spotify以外)では、リクエストはキャンセルされず、すべて正常です。
私は間違っていますか?または、これはSpotifyプレビューリリースのバグ(機能?)ですか?
なしのUTF-8でエンコード私はどうしようとする最初の事はWiresharkのようなツールを使用して楽しんでるによって作られている実際の要求を分析しています。次に、a)Spotifyアプリケーションが有効なOriginヘッダー(CORSに必要)を送信していること、およびb)Spotifyによって送信されたカスタム要求ヘッダーを確認できることを確認できます。 CORS仕様では、「*」がAccess-Control-Allow-Headersヘッダーの値として使用できないことに注意してください。 Access-Control-Request-Headersで受け取ったパラメータをエコーバックすることをお勧めします。 – monsur
私は同じ問題を抱えていました。上で述べたように、Access-Control-Allow-Headersが私の問題でした。ヘッダを "*"に設定するようにサーバを変更したところ、うまくいきました。 – slurmomatic
monsur - wiresharkを試しますが、Chromeは送信リクエストを表示していて、珍しいヘッダーはありません。 slurmomatic - すでにallow-headersを "*"に設定しています。 Spotifyに問題はありましたか? – nick