Php 通过API将文件上载到Google Drive
每个人 我需要上传文件到谷歌驱动器通过API,我做的正是它所提到的 我已经生成了访问令牌并将其保存在文件中,问题是它只在第一次使用时有效,下次出现错误时有效Php 通过API将文件上载到Google Drive,php,google-drive-api,Php,Google Drive Api,每个人 我需要上传文件到谷歌驱动器通过API,我做的正是它所提到的 我已经生成了访问令牌并将其保存在文件中,问题是它只在第一次使用时有效,下次出现错误时有效 OAuth2 token, message: '{ "error" : "invalid_grant" } 我们只需要上传文件到谷歌驱动器(我们自己的帐户)后,从用户的形式 我试过很多教程中的脚本,但似乎不起作用。 我也尝试过离线访问权限,但仍然没有成功 更新: 这里是我用来生成访问令牌的代码 require_once APP_PATH.
OAuth2 token, message: '{ "error" : "invalid_grant" }
我们只需要上传文件到谷歌驱动器(我们自己的帐户)后,从用户的形式
我试过很多教程中的脚本,但似乎不起作用。
我也尝试过离线访问权限,但仍然没有成功
更新:
这里是我用来生成访问令牌的代码
require_once APP_PATH.'_includes/google_drive/Google_Client.php';
require_once APP_PATH.'_includes/google_drive/contrib/Google_DriveService.php';
$drive = new Google_Client();
$drive->setClientId('xxxxxxxxxxxxxxxx');
$drive->setClientSecret('xxxxxxxxxxxxxxx');
$drive->setRedirectUri('urn:ietf:wg:oauth:2.0:oob');
$drive->setScopes(array('https://www.googleapis.com/auth/drive'));
$gdrive = new Google_DriveService($drive);
$url = $drive->createAuthUrl();
$authorizationCode = trim(fgets(STDIN));
$token = $drive->authenticate($authorizationCode);
然后我用了这个代码
$drive=新的Google_客户端()
它工作得很好,但当我再次运行页面时,它会显示
Fatal error: Uncaught exception 'Google_AuthException' with message 'Error fetching OAuth2 access token, message: 'invalid_grant'' in ...Google_OAuth2.php on line 115
非常感谢您的帮助。根据@BurcuDogan的评论,通过验证方法解决了问题
//file_put_contents('token.json', $drive->authenticate());
看起来您正在调用
$client->authenticate($authCode)代码>再次。请澄清您对一个代码段所做的操作。@BurcuDogan我已经更新了问题,我完全按照本教程中提到的操作完成了。谢谢@BurcuDogan,删除authenticate方法后它就可以工作了。这行代码在做什么?我在这一行得到错误$authorizationCode=trim(fgets(STDIN))代码>未定义常数STDIN的使用-假定为“STDIN”你能解释一下STDIN吗?什么是STDIN?看起来它还没有定义。
//file_put_contents('token.json', $drive->authenticate());