Google Cloud Print & quot; 403 Требуются учетные данные пользователя & quot;

Я видел сообщения с той же проблемой, с которой я сталкиваюсь, однако я не могу заставить их работать, даже с изменениями, предлагаемыми другими сообщениями.

Поэтому, когда я терплю неудачу с другими 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, как Почтальон и в «сыром локоне». Но все тот же результат.

Так. Что я могу делать дальше?

ура

0

Решение

Убедитесь, что токен доступа получен через 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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]