2016-09-10 8 views
2

私はSpotifyのclient credentials authorization flowに従っていますが、すべてのカールリクエストは毎回{"error":"invalid_client"}を返しています。SpotifyクライアントIDとシークレットを使用したCurl投稿リクエストは無効なクライアントを返します

要求は要求の本文内のパラメータが含まれます: - 「client_credentials」に設定し

  • grant_typeをここでSpotifyはからの命令があります。

以下のパラメータ含まれている必要があり、このPOSTリクエストのヘッダ:

  • 許可 - クライアントIDとクライアント秘密鍵が含まれているベース64エンコードされた文字列を。フィールド形式を持っている必要があります。Authorization: Basic <base64 encoded client_id:client_secret>

を彼らはまた、カールリクエストの例が含ま:彼らの例に続き

$ curl -H "Authorization: Basic ZjM4ZjAw...WY0MzE=" -d grant_type=client_credentials https://accounts.spotify.com/api/token 

を、これまでのところ私はカールの要求を試してみた:

  • client_idとclient_secretプレーン
  • base64エンコード別に
  • 1つまたは他の双方I「の秘密再生クライアント

と結腸

  • 上記の各せず結腸
  • 1つの文字列として符号化の両方を有する1つの文字列として符号化
  • をコードRubyのBase64#encode64メソッドを使用してエンコードします。まだ運がありません。役に立つヒント?

  • +0

    カールリクエストはあなたのために機能しますか?使用しようとしているRubyコードを正確に投稿できますか? –

    +0

    カール要求が機能していませんでした。私は実際のRailsアプリで試してみる前にそれを動作させようとしていました。しかし、私はそれを理解しました - あなたは私の答えを以下に見ることができます。 –

    答えて

    3

    私はclient_idとclient_secretをコロンで区切ってBase64.strict_encode64Base64.encode64ではない)に渡し、それを上記のcurl要求に渡すと、アクセストークンで200の応答が得られます。明らかにencode64で十分ではありませんでした。

    0

    端末でcurlコマンドを実行したときにこのエラーが発生しました。

    -bash: unexpected EOF while looking for matching `"' 
    

    二重引用符の代わりに一重引用符を使用して解決します。

    関連する問題