Я новичок в Gzzle, и я пытаюсь позвонить ему в Google API. Я пытался таким образом, не повезло: PHP + Guzzle, Sending Authorization Key in HeaderGoogle REST-ful call + Guzzle: Установочный токен авторизации
Вот мой код:
$client = new Client();
try {
$request = $client->get ('https://www.googleapis.com/analytics/v3/data/ga');
/*setting Authorization token*/
$request->addHeader('authorization', $accessToken);
$query = $request->getQuery();
$query->set('ids', $profileId);
$query->set('start-date', $startDate);
$query->set('end-date', $endDate);
$query->set('metrics', $metrics);
$response = $request->send();
$response = $response->json();
var_dump($response);
} catch (ClientErrorResponseException $e) {
var_dump($e->getMessage());
}
Я всегда получаю такой ответ:
"Client error response
[status code] 401
[reason phrase] Unauthorized
[url] https://www.googleapis.com/analytics/v3/data/ga?ids=ga%3AXXXXXX&start-date=2014-07-01&end-date=2014-07-01&metrics=ga%3Asessions"
Я попробовал один и тот же вызов с помощью PHP curl, и я получаю правильный ответ, но я бы хотел использовать Guzzle в этом проекте.
Что такое правильный способ для этого array (CURLOPT_HTTPHEADER => array('Authorization: Bearer ' . $accessToken))
с помощью Guzzle?
Удалите строку addheader. попробуйте добавить $ query-> set ('oauth_token', $ accessToken); – DaImTo
@DaImTo Я сделал это изменение, и это сработало! Большое спасибо. Если вы возражаете, отправляя его в качестве ответа ... Спасибо. –