我看到过与我面临同样问题的帖子,但是,即使其他帖子建议进行更改,我也无法使用它。
因此,当我与其他谷歌API失败时,我通常会得到(信息性的)错误代码和/或消息。但不是在这种情况下。
使用PHP和Guzzle我尝试做这个请求。
else
但我明白了:
$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
我也没有在official docs找到任何有用的东西。但是,也许我只是误解了它。
我还尝试过其他客户端用于HTTP请求,例如Postman和&#34; raw curl&#34;。但结果仍然相同。
因此。我接下来该怎么办?
干杯
答案 0 :(得分: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