调用 google sheet api 会引发错误 localhost 当前无法处理此请求。 HTTP 错误 500
Posted
技术标签:
【中文标题】调用 google sheet api 会引发错误 localhost 当前无法处理此请求。 HTTP 错误 500【英文标题】:Calling google sheets api throws errors localhost currently unable to handle this request. HTTP ERROR 500 【发布时间】:2020-08-14 14:53:41 【问题描述】:首先抱歉英语不好。我正在为我的网络项目使用 Google Sheets API,并且我正在关注 Google Sheets API 文档。 OAuth 2.0 流程进展顺利,我正在获取访问令牌,但是当控制到达 $response = $service->spreadsheets_values->get($spreadsheetId,$range);
时,它显示 localhost 当前无法处理此请求。 HTTP ERROR 500
。我也在使用 ngrok 将我的本地主机暴露给谷歌
require_once APPPATH."third_party/googleClientLibrary/vendor/autoload.php";
session_start();
$client = new Google_Client();
$client->setAuthConfig(APPPATH."third_party/googleClientLibrary/client_secret.json");
$client->setScopes(Google_Service_Sheets::SPREADSHEETS_READONLY);
$client->setAccessType('offline');
$client->authenticate($_GET['code']);
$_SESSION['access_token']= $client->getAccessToken();
if (isset($_SESSION['access_token']))
$client->setAccessToken($_SESSION['access_token']);
$service = new Google_Service_Sheets($client);
$spreadsheetId = '1Wr_6u4fO7NNWHeYsdTm0S-z9UU3NtPMdwIhkrSAfEpA';
$range = 'Test-sheet!A:E';
$response = $service->spreadsheets_values->get($spreadsheetId,$range);
$values = $response->getValues();
`
【问题讨论】:
为什么不在quickstart推荐的那一天做令牌的认证和创建呢? 感谢您的回复。实际上我希望 tp 为 web 应用程序执行此任务。我正在关注这个链接developers.google.com/identity/protocols/oauth2/web-server你能帮我吗?我是初学者,我会感谢这种善举 最好关注this workflow。你需要实现oauth2callback.php
。你为什么使用setSCoeps
而不是文档中的$client->addScope
。您是否从 GCP 下载了正确的 WebApp 凭据?
根据您的建议,我将设置范围更改为添加范围,但结果实际上仍然相同,当用户授予权限时,我上面提到的代码在重定向 uri 中,然后控制进入此代码块是的,我下载正确凭据即使我已经使用 var dump 看到了带有刷新令牌的访问令牌,一切都很顺利,用户授予权限,然后在此之后我获得授权代码并使用此代码我也获得访问令牌,但是当控制达到 $response = $service- >spreadsheets_values->get($spreadsheetId,$range) 它抛出错误 http 500
嗨,兄弟,希望你会没事我已经解决了这个问题我使用的是最新版本的 php 客户端库,其中的一些功能与 php 5.5 版不兼容,所以我通过使用旧版本的php 客户端库。我们也可以通过将版本升级到 php 7 来解决这个问题,谢谢你的帮助,祝福
【参考方案1】:
我使用的是php客户端库realease 2.4.1,这个库的一些功能需要php版本7。我的 php 版本是 5,所以我使用的是旧版本的客户端库
【讨论】:
以上是关于调用 google sheet api 会引发错误 localhost 当前无法处理此请求。 HTTP 错误 500的主要内容,如果未能解决你的问题,请参考以下文章
从 Google Sheet API v4 追加数据不再起作用
python google sheet API的无效JSON有效负载错误
如何在 google sheet api 中获取列标题及其名称的映射?