Erro na conta de serviço do SDK do Google Drive "O usuário autenticado não instalou o aplicativo com o ID do cliente ..."

Estou tentando criar um aplicativo do Google Drive que possa ser executado em segundo plano (por exemplo, um cronjob), sem qualquer interação do usuário, usando a conta de serviço do SDK do Google Drive, mas isso me causa esse erro e não consigo entender o motivo:

Erro ao chamar o POSThttps://www.googleapis.com/upload/drive/v1/files?uploadType=multipart: (403) O usuário autenticado não instalou o aplicativo com o ID do cliente {my_client_id}

No Console de APIs do Google, eu ativei a Drive API e o Drive SDK. Na guia Drive SDK, eu configurei todas as informações necessárias. Também publiquei meu aplicativo para testadores apenas na Chrome Web Store e instalei-o no meu Google Chrome, e o nome do aplicativo aparece no menu "Criar" do meu Google Drive.

Este é um trecho do meu código:

<code><?php

require_once dirname(__FILE__).'/google-api-php-client/src/apiClient.php';
require_once dirname(__FILE__).'/google-api-php-client/src/contrib/apiDriveService.php';

$apiClient = new apiClient();
$apiClient->setClientId(DRIVE_CLIENT_ID);
$apiClient->setClientSecret(DRIVE_CLIENT_SECRET);
$apiClient->setAssertionCredentials(new apiAssertionCredentials(
    OAUTH2_EMAIL, 
    array('https://www.googleapis.com/auth/drive.file'), 
    file_get_contents(SERVICE_ACCOUNT_PRIVATEKEY_FILE))
);

$apiDriveService = new apiDriveService($apiClient);

$file = new DriveFile();
$file->setTitle('filename.txt');
$file->setMimeType('text/plain');
$createdFile = $apiDriveService->files->insert($file, array(
    'data' => 'file content goes here....',
    'mimeType' => 'text/plain'
));

?>
</code>

Pelo que entendi, um aplicativo pode usar uma conta de serviço para o SDK do Google Drive em nome de um usuário. Isso significa que não há pergunta de autenticação (solicitação de permissões) para o usuário? Então, como o aplicativo se autentica? Ou meu entendimento provavelmente está errado? Por favor me ajude a me esclarecer aqui.

questionAnswers(1)

yourAnswerToTheQuestion