Получить & quot; Не авторизован для доступа к идентификатору приложения & quot; после использования Google Apps Marketplace API

У меня есть веб-приложение, и я пытаюсь выяснить, какие пользователи в домене Google установили мое приложение. Я пытался использовать код здесь: Определите, установлено ли мое приложение Marketplace на домене пользователя Google, но это не работает. Я все еще получаю сообщение об ошибке «(403) Не авторизован для доступа к идентификатору приложения» в ответ.

Код:

            $private_key = file_get_contents('path_to_p.12_key');
$service_account_name = '{service_acc_name}'; // name from developers console

$cred = new Google_Auth_AssertionCredentials($service_account_name, array('https://www.googleapis.com/auth/appsmarketplace.license'), $private_key);

$client = new Google_Client();
$client->setAssertionCredentials($cred);

$url = "https://www.googleapis.com/appsmarket/v2/licenseNotification/{appID}";

$httpRequest = new Google_Http_Request($url, 'GET');
$httpRequest->setBaseComponent($client->getBasePath());
$httpRequest = $client->getAuth()->sign($httpRequest);

try
{
$result = $client->execute($httpRequest);
}
catch (Exception $e)
{
echo $e->getMessage();
}

Я также добавил https://www.googleapis.com/auth/appsmarketplace.license область действия в настройках проекта в консоли разработчика.

Я не могу понять, что не так.

0

Решение

ОК, я решил это. Вы должны добавить все области к объекту учетной записи службы, которые используются вашим приложением (не только те области, которые вы действительно хотите использовать учетной записью службы):

$cred = new Google_Auth_AssertionCredentials($service_account_name, array('https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/userinfo.profile', 'https://www.googleapis.com/auth/admin.directory.user.readonly', 'https://www.googleapis.com/auth/admin.directory.user', 'https://www.googleapis.com/auth/appsmarketplace.license'), $private_key);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]