Php GoogleAPI数据传输插入(GoogleDrive):表示已完成,但实际上什么也没有发生

Php GoogleAPI数据传输插入(GoogleDrive):表示已完成,但实际上什么也没有发生,php,google-api,google-api-php-client,Php,Google Api,Google Api Php Client,我在这里找到了一篇类似的文章,但经过大量测试,我仍然遇到了一些问题() 本质上,我是想把谷歌硬盘的所有权转让给另一个人。我为日历做了这项工作(基本上相同的代码,但不同的applicationId),但对于驱动器,它说它完成了,实际上没有移动任何东西。我已经验证了所有API权限都是正确的,我甚至能够在Google API Explorer()中成功地运行它 这里有没有我遗漏的简单的东西 $service = new Google_Service_DataTransfer($client); //

我在这里找到了一篇类似的文章,但经过大量测试,我仍然遇到了一些问题()

本质上,我是想把谷歌硬盘的所有权转让给另一个人。我为日历做了这项工作(基本上相同的代码,但不同的applicationId),但对于驱动器,它说它完成了,实际上没有移动任何东西。我已经验证了所有API权限都是正确的,我甚至能够在Google API Explorer()中成功地运行它

这里有没有我遗漏的简单的东西

$service = new Google_Service_DataTransfer($client);  // $client is already defined and working properly

$oldUserID = 'oldAccountIdNumberHere';
$newUserID = 'newAccountIdNumberHere';

$driveTransferParams = new Google_Service_DataTransfer_ApplicationTransferParam();
$driveTransferParams->setKey("PRIVACY_LEVEL");
$driveTransferParams->setValue(['SHARED', 'PRIVATE']);

$driveDataTransfer = new Google_Service_DataTransfer_ApplicationDataTransfer();
$driveDataTransfer->setApplicationTransferParams($driveTransferParams);
$driveDataTransfer->applicationId = 'idStringForGoogleDriveAndDocs';

$driveTransfer = new Google_Service_DataTransfer_DataTransfer();
$driveTransfer->setNewOwnerUserId($newUserID);
$driveTransfer->setOldOwnerUserId($oldUserID);
$driveTransfer->setApplicationDataTransfers([$driveDataTransfer]);

$driveResults = $service->transfers->insert($driveTransfer);
我的客户范围是:Google\u Service\u DataTransfer::ADMIN\u DataTransfer, Google\u服务\u数据传输::管理\u数据传输\u只读


提前谢谢

事实上,我刚想出来。有一些参数需要在数组中传递,在传递之后,它开始正常工作。我的问题解决方案张贴在下面,以防它帮助其他人

注1:请参见setApplicationTransferParams行

注2:请参见setApplicationId行

$service = new Google_Service_DataTransfer($client);  // $client is already defined and working properly

$oldUserID = 'oldAccountIdNumberHere';
$newUserID = 'newAccountIdNumberHere';

$driveTransferParams = new Google_Service_DataTransfer_ApplicationTransferParam();
$driveTransferParams->setKey("PRIVACY_LEVEL");
$driveTransferParams->setValue(['SHARED', 'PRIVATE']);

$driveDataTransfer = new Google_Service_DataTransfer_ApplicationDataTransfer();
$driveDataTransfer->setApplicationTransferParams([$driveTransferParams]);
$driveDataTransfer->setApplicationId(['idStringForGoogleDriveAndDocs']);

$driveTransfer = new Google_Service_DataTransfer_DataTransfer();
$driveTransfer->setNewOwnerUserId($newUserID);
$driveTransfer->setOldOwnerUserId($oldUserID);
$driveTransfer->setApplicationDataTransfers([$driveDataTransfer]);

$driveResults = $service->transfers->insert($driveTransfer);