【发布时间】:2021-05-14 17:33:25
【问题描述】:
我正在用 PHP 编写一个脚本,以自动执行从数据库中获取数据并将其插入到谷歌表格中的过程。 因为它将每隔 15 分钟运行一次,并且 Oauth 同意屏幕并不是最好的选择。 是否有另一种选择来获得必要的授权来写入工作表而无需通过浏览器登录?
我在文档和在线看到的大多数示例都使用同意屏幕。 如果我试试这个:
$client = new Google_Client();
$service = new Google_Service_Sheets($client);
这将与 Text-to-Speech API 一起使用我得到这个(自然):
> PHP Fatal error: Uncaught Google\Service\Exception: { "error": {
> "code": 401,
> "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid
> authentication credential. See
> https://developers.google.com/identity/sign-in/web/devconsole-project.",
> "errors": [
> {
> "message": "Login Required.",
> "domain": "global",
> "reason": "required",
> "location": "Authorization",
> "locationType": "header"
> }
> ],
> "status": "UNAUTHENTICATED" } }
错误消息中的链接只是引导您完成同意屏幕。从我在网上可以找到的内容来看,如果我只是读取一个文件不会有问题,但是写入它,即使我将工作表设置为公开,也需要身份验证。
注意:这一切都在 Gcloud 虚拟机实例中运行
【问题讨论】:
标签: php oauth-2.0 google-sheets-api gcloud