Я нашел подобную статью здесь, но после большого тестирования я все еще сталкиваюсь с проблемами ( Вставка передачи данных API Google: отсутствует resource.applicationDataTransfer ).
По сути, я пытаюсь передать право собственности на Google Диск другому лицу. Я получил это работает для календарей (в основном тот же код, но разные applicationId), но для диска, он говорит, что он завершен, фактически ничего не перемещая. Я проверил, что все разрешения API правильны, и я даже смог успешно запустить его в Google API Explorer (https://developers.google.com/admin-sdk/data-transfer/v1/reference/transfers/insert?authuser=1).
Есть что-то действительно простое, что я здесь упускаю?
$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_Service_DataTransfer :: ADMIN_DATATRANSFER,
Google_Service_DataTransfer :: ADMIN_DATATRANSFER_READONLY
Заранее спасибо!