我正在使用PHP处理谷歌驱动器API。我在使用此驱动器api时遇到错误。我正在使用谷歌api客户端库" google / apiclient ^ 2.0"。我正在尝试使用google身份验证登录用户并查看驱动器中可用的所有文件,我正在使用此库,但它显示错误:
注意:未定义的属性:Google_Client :: $ files in 第31行/Applications/XAMPP/xamppfiles/htdocs/google_app/index.php
致命错误:未捕获错误:调用成员函数listFiles() null在/Applications/XAMPP/xamppfiles/htdocs/google_app/index.php:31 堆栈跟踪:#0 /Applications/XAMPP/xamppfiles/htdocs/google_app/index.php(55): retrieveAllFiles(Object(Google_Client))#1 {main}引入 第31行/Applications/XAMPP/xamppfiles/htdocs/google_app/index.php
{{1}}
实际上我正在尝试使用我的文件ID检索我的Google云端硬盘中的所有文件,然后设置状态自动发布特定文件。请帮我摆脱这个错误。
提前致谢。
答案 0 :(得分:0)
“未经验证的使用超出限制的每日限制”
表示您在未正确验证脚本的情况下发出请求。你的fetchAccessTokenWithAuthCode可能还有些什么。
你可能会考虑这些行
function getOauth2Client() {
try {
$client = buildClient();
// Set the refresh token on the client.
if (isset($_SESSION['refresh_token']) && $_SESSION['refresh_token']) {
$client->refreshToken($_SESSION['refresh_token']);
}
// If the user has already authorized this app then get an access token
// else redirect to ask the user to authorize access to Google Analytics.
if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
// Set the access token on the client.
$client->setAccessToken($_SESSION['access_token']);
// Refresh the access token if it's expired.
if ($client->isAccessTokenExpired()) {
$client->fetchAccessTokenWithRefreshToken($client->getRefreshToken());
$client->setAccessToken($client->getAccessToken());
$_SESSION['access_token'] = $client->getAccessToken();
}
return $client;
} else {
// We do not have access request access.
header('Location: ' . filter_var( $client->getRedirectUri(), FILTER_SANITIZE_URL));
}
} catch (Exception $e) {
print "An error occurred: " . $e->getMessage();
}
}
从我的示例项目oauth2php
中删除了代码未定义的属性Google_Client
表示您未正确声明Google客户端
未捕获错误:在
中调用null上的成员函数listFiles()
如果您删除$参数并调用$ service-> files-> listFiles();
会发生什么?