PHP + Guzzle, Отправка ключа авторизации в заголовке

Я новичок в Guzzle, и я пытаюсь создать следующий вызов REST:

https://product-search.api.cj.com/v2/product-search?website-id=1594990&keywords=%2Bsony+-camera GET /v2/product-search?website-id=1594990&keywords=%2Bsony+-camera HTTP/1.1 Host: link-search.api.cj.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Cookie: __utma=128446558.2099392322683464700.1239639722.1239639722.1239927095.2; __utmz=128446558.1239639722.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); CONTID=8073; cjuMember=0; JSESSIONID=aM5RSWdqdd_5 Authorization: YOUR DEV KEY HERE HTTP/1.x 200 OK Server: Resin/2.1.17 Content-Type: application/xml Transfer-Encoding: chunked Date: Thu, 26 Apr 2009 10:25:03 GMT 

Я использую следующий код PHP:

 $client = new Client('https://linksearch.api.cj.com', array( 'id' => $website_id, 'keywords' => 'sony', )); $request = $client->get("v2/link-search?website-id={id}&keywords={keywords}"); $request->addHeader('Authorization', $dev_key); $response = $request->send(); 

Проблема здесь в том, что с помощью оператора addHeader () я получаю ответ «Плохой запрос» и без addHeader (), я получаю «Несанкционированный». Похоже, что я неправильно отправляю свои данные аутентификации. Кто-нибудь знает, что я здесь делаю неправильно?

Related of "PHP + Guzzle, Отправка ключа авторизации в заголовке"

Актуальными проблемами здесь были:

1) «авторизация» заголовка может быть чувствительной к регистру и может потребоваться в нижнем регистре.

2) Ошибка 400 будет выбрана, если какой-либо из параметров запроса неверен, даже ваш идентификатор сайта. Ошибка 400 означает: «Запрос был недействительным по причинам, отличным от проверки подлинности».

Я думаю, что вы неправильно создаете $ request. Попробуй это:

 $client = new Client(); $request = new Request('POST', 'http://someuri/path/here'); 

Затем отправьте запрос с помощью $ client:

 $response = $client->send($request);