Создание учетных записей администраторов для доменов, созданных с помощью Reseller API

Я пытаюсь автоматизировать весь процесс создания учетной записи приложений Google с помощью учетной записи посредника моей компании в Google, без необходимости что-либо вручную включать.

Вот быстрый сценарий того, что я делаю.

  1. Создать клиента (домен) с помощью API реселлера
  2. Создать подписку с помощью API реселлера
  3. Создать учетную запись администратора для проданного домена

У меня проблемы с автоматизацией шага 3.

Есть два разных API, которые могут выполнить этот тест, Provisioning (dericated) и Directory.

Я уже успешно создал учетные записи пользователей с помощью API-интерфейса Каталога, но на этом этапе требуется, чтобы вы включили доступ API для этого домена, и это может сделать только человек вручную - так что это перерыв в потоке автоматизации и не будет работать для того, что я пытаюсь сделать.

Техническая поддержка Google проинструктировала меня использовать API Provisioning, который устарел, поскольку он предположительно позволяет создавать пользователя-администратора без необходимости вручную включать доступ к API для каждого домена. Когда я пытаюсь сделать это, я сталкиваюсь с этой ошибкой:

Uncaught exception 'Zend_Gdata_App_HttpException' with message 'Expected response code 200, got 403 <HTML> <HEAD> <TITLE>You are not authorized to perform operations on the domain mydomain.com</TITLE>

Вот код, который я пытаюсь запустить:

// .....

$customerid = "somedomain.com";

$client = Zend_Gdata_ClientLogin::getHttpClient("mylogin@foo.com", "mypassword",Zend_Gdata_Gapps::AUTH_SERVICE_NAME);
$gdata = new Zend_Gdata_Gapps($client, $customerid);

$gdata->createUser('Admin', 'Firstname', 'Lastname', 'somerandompassword', TRUE);

//......

Когда я проконсультировался со службой технической поддержки Google, мне сказали, что мне нужно включить API обеспечения, следуя той же инструкции, которую я опубликовал ранее (включить доступ API для каждого домена). Я сделал это как на своем домене посредника, так и на домене клиента, который я пытаюсь подготовить (просто для проверки, потому что весь смысл в том, чтобы иметь возможность создать учетную запись администратора, БЕЗ ее включения в домене клиента.) - Но это все же возвращает эту ошибку.

Вот мои настройки - как вы видите, он включен.

В документах Google в разделе "Включение API предоставления" в нем содержатся некоторые инструкции, но они устарели и не отражают разделы, доступные в текущей панели администратора приложений Google.

Я в недоумении. Я что-то упускаю из виду, или это просто невозможно сделать в это время?

Просто для справки, я нашел несколько других людей, задающих аналогичный вопрос, но с меньшими подробностями:

РЕДАКТИРОВАТЬ: Добавлено изображение, показывающее настройки и пример кода.

3 ответа

Решение

Попробуйте удалить параметр "ИСТИНА" в createUser, он работает для меня.

$customerid = "sampledomain.com";

$client = Zend_Gdata_ClientLogin::getHttpClient($email, $password, Zend_Gdata_Gapps::AUTH_SERVICE_NAME);
$gdata = new Zend_Gdata_Gapps($client, $customerid);

var_dump($gdata->createUser('trial', 'Firstname', 'Lastname', 'somerandompassword'));

В настройках домена консоли приложения Google -> в настройках пользователя установите флажок "разрешить доступ через API"

В консоли приложения Google -> расширенные инструменты -> управлять доступом клиента OAuth стороннего производителя

Добавьте область действия: https://apps-apis.google.com/a/feeds/user

Другие вопросы по тегам