Проблема с API Google Reseller, отправляющим пакетные запросы

В особом сценарии, когда перепроданный клиент, использующий Google Vault, использует GoogleDrive вместе с Google Apps для бизнеса и передает этого клиента согласно документации (см. https://developers.google.com/admin-sdk/reseller/v1/how-tos/batch) мы должны использовать Batch Subscription Ordering.

Вот что мы наблюдаем до сих пор:

  1. Когда мы пытаемся перевести перепроданного клиента, у которого есть только одна подписка "Google-Apps-For-Business" a. Затем работает пакетный заказ (даже если он не требуется).
  2. Однако, когда нам нужно перевести перепроданного клиента, у которого больше, чем по подписке, например, "Google-Apps-для-бизнеса" и один или несколько из "Google Vault", "Google-диск" a. Если мы отправим запрос на все функции с помощью Пакетного заказа, вызов повторно выполнит код ошибки: 500 (Внутренняя ошибка сервера) b. Если мы отправим только один запрос (даже если он неверен согласно документации) в Пакетном заказе (Google-apps-for-business), вызов вернет ожидаемый код ошибки: 412 (Сбой предварительного условия): домен имеет подписки, которые нужно перенести.

Мы также пытались на основе примера API Календаря Google (см. https://developers.google.com/admin-sdk/reseller/v1/how-tos/batch), но это также приводит к той же ошибке.

Оба выше предполагают, что либо документация неверна, либо API не работает согласно документации.

У кого-нибудь есть предложение?

Вот пример кода

// based on https://code.google.com/p/google-api-java-client/wiki/Batch sample code
Reseller reseller = Reseller.Builder(httpTransport, jsonFactory, credential).setApplicationName("RedResellerAccountSample").build();
JsonBatchCallback<Subscription>; callback = new JsonBatchCallback<Subscription>() {

    @Override
    public void onSuccess(Subscription t,
    HttpHeaders responseHeaders) throws IOException {
        // TODO Auto-generated method stub
        System.out.println("Success");

    }

    @Override
    public void onFailure(GoogleJsonError e,
    HttpHeaders responseHeaders) throws IOException {
        // TODO Auto-generated method stub
        System.out.println("Failure");
    }
};
BatchRequest batchRequest = reseller.batch();
Subscription sub = new Subscription();
sub.setKind("subscriptions#subscription");
sub.setCustomerId("testdomain.com");

Subscription.Plan plan = new Subscription.Plan();
plan.setPlanName("TRIAL");

Seats seats = new Seats();
seats.setKind("subscriptions#seats");
seats.setMaximumNumberOfSeats(10);

sub.setPlan(plan);
sub.setSeats(seats);
sub.setSkuId("Google-Apps-For-Business");

reseller.subscriptions().insert("testdomain.com",sub).setCustomerAuthToken("B40D2EFF4316B703").queue(batchRequest, callback);
Subscription sub2 = new Subscription();
sub2.setKind("subscriptions#subscription");
sub2.setCustomerId("testdomain.com");

Subscription.Plan plan2 = new Subscription.Plan();
plan2.setPlanName("TRIAL");

Seats seats2 = new Seats();
seats2.setKind("subscriptions#seats");
seats2.setMaximumNumberOfSeats(10);

sub2.setPlan(plan);
sub2.setSeats(seats);
sub2.setSkuId("Google-Vault");

reseller.subscriptions().insert("testdomain.com",sub2).setCustomerAuthToken("B40D2EFF4316B703").queue(batchRequest, callback);

//System.out.println(new ObjectMapper().writeValueAsString(batchRequest);

// if we call it fail as we have more than one request queued in the
batchRequest.execute();

0 ответов

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