2016-06-25 12 views
3

は、ドキュメントがこの方法でそれを作る方法をexplian:PHPがつがつ食うトークン

GET /api/1/application HTTP/1.1
Host: api.infojobs.net Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==,Bearer 07d18fac-77ea-461f-9bfe-a5e9d98deb3d

https://developer.infojobs.net/documentation/user-oauth2/index.xhtml

そして、

Fatal error: Uncaught GuzzleHttp\Exception\ClientException: Client error: GET https://api.infojobs.net/api/1/curriculum resulted in a 401 No Autorizado response: {"error":"102","error_description":"Client credentials not valid","timestamp":"2016-06-25T14:08:54.774Z"} in /app/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:107

$basicauth = new Client(['base_uri' => 'https://api.infojobs.net']); 

$credentials = base64_encode(CLIENT_ID .':' . CLIENT_SECRET) ; 

$newresponse = $basicauth->request(
    'GET', 
    'api/1/curriculum', 
    ['debug' => true], 
    ['auth' => 
    ['Basic', $credentials] , 
    ['Bearer', $acceso->access_token] 
    ] 
)->getBody()->getContents(); 

d($newresponse); 

API/Guzlleが私のバックにこのエラーを与える:これは私のコードです

私は何か間違っていますが、間違っているかどうかはわかりません。

ありがとう、ありがとう。オスカー

答えて

5

私はあなたの要求のHTTPヘッダを見ていると

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==,Bearer 07d18fac-77ea-461f-9bfe-a5e9d98deb3d 

あなたはカンマ区切り値が含まれているAuthorizationヘッダを持っています。彼らはお互いから離れていません。だからあなたはGuzzleのauthキーの恩恵を受けることはできません。

手動でAuthorizationヘッダに設定されて何をすべき:

$newresponse = $basicauth->request(
    'GET', 
    'api/1/curriculum', 
    ['debug' => true], 
    ['headers' => 
     [ 
      'Authorization' => "Basic {$credentials},Bearer {$acceso->access_token}" 
     ] 
    ] 
)->getBody()->getContents(); 
関連する問題