Я видел сообщения с той же проблемой, с которой я сталкиваюсь, однако я не могу заставить их работать, даже с изменениями, предлагаемыми другими сообщениями.
Поэтому, когда я терплю неудачу с другими API Google, я обычно получаю (информативный) код ошибки и / или сообщение. Но не в этом случае.
Используя PHP с Guzzle, я пытаюсь сделать этот запрос.
$headers = [
RequestOptions::HEADERS => [
'Authorization' => 'Bearer ' . $oResponse->access_token,
'X-CloudPrint-Proxy' => 'Google-JS',
'Content-Type' => 'application/x-www-form-urlencoded',
'Accept-Charset' => 'utf-8',
]
];
$getPrinters = $client
->post('https://www.google.com/cloudprint/search?output=json', $headers)
->getBody()
->getContents();
Но я получаю это:
Client error: `POST https://www.google.com/cloudprint/search?output=json` resulted in a `403 User credentials required` response: <HTML> <HEAD> <TITLE>User credentials required</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> <H1>User credenti (truncated...)
Я пробовал с разными типами заголовков, но все они возвращают один и тот же результат.
$oResponse->access_token
происходит от этой части (которая работает)
$response = $client->post('https://www.googleapis.com/oauth2/v4/token', [
RequestOptions::FORM_PARAMS => [
'refresh_token' => 'valid token',
'client_id' => 'xxxxx',
'client_secret' => 'xxxxx',
'grant_type' => 'refresh_token'
],
RequestOptions::HEADERS => [
'Content-Type' => 'application/x-www-form-urlencoded'
]
])->getBody()->getContents();
$oResponse = json_decode($response);
Также я не нашел ничего полезного на официальные документы или. Но опять же, может быть, я просто неверно истолковал это.
Я также пробовал другие клиенты для запросов HTTP, как Почтальон и в «сыром локоне». Но все тот же результат.
Так. Что я могу делать дальше?
ура
Убедитесь, что токен доступа получен через OAuth.
Также изменить https://www.google.com/cloudprint/search?output=json в https://www.google.com/cloudprint/search
Проверьте : https://developers.google.com/cloud-print/docs/appInterfaces#search
/ search поддерживает только следующие параметры:
q, тип, connection_status, use_cdd, extra_fields
Других решений пока нет …