Google reseller api google转销商API发送批处理请求时出现问题

Google reseller api google转销商API发送批处理请求时出现问题,google-reseller-api,Google Reseller Api,在一个特殊的场景中,使用Google Vault的转售客户、GoogleDrive以及Google Apps for Business,并根据文档(参考)转移该客户,我们应该使用批量订购 以下是我们目前观察到的情况: 当我们试图转移转售客户时,该客户只有一个订阅“Google Apps For Business” A.然后批量订购(即使不是必需的)开始工作 然而,当我们必须转移转售客户时,他们的订阅量超过了“Google Apps for Business”和一个或多个“Google Vault

在一个特殊的场景中,使用Google Vault的转售客户、GoogleDrive以及Google Apps for Business,并根据文档(参考)转移该客户,我们应该使用批量订购

以下是我们目前观察到的情况:

  • 当我们试图转移转售客户时,该客户只有一个订阅“Google Apps For Business” A.然后批量订购(即使不是必需的)开始工作
  • 然而,当我们必须转移转售客户时,他们的订阅量超过了“Google Apps for Business”和一个或多个“Google Vault”、“Google drive” A.如果我们以批处理顺序发送所有功能请求,调用将返回错误代码:500(内部服务器错误) B如果我们在批处理顺序(Google apps for business)中只发送一个请求(即使根据文档它是错误的),则调用将返回预期的错误代码:412(前提条件失败):域具有需要传输的订阅
  • 我们还尝试了基于Google日历API示例(Ref)的方法,但也导致了同样的失败

    以上两种情况都表明文档有误,或者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();
    
    //基于https://code.google.com/p/google-api-java-client/wiki/Batch 示例代码
    转销商转销商=转销商.Builder(httpTransport,jsonFactory,credential).setApplicationName(“RedRebellerAccountSample”).build();
    JsonBatchCallback;callback=新的JsonBatchCallback(){
    @凌驾
    成功时公开作废(认购t,
    HttpHeaders(响应头)引发IOException{
    //TODO自动生成的方法存根
    System.out.println(“成功”);
    }
    @凌驾
    失败后的公共无效(GoogleJsonError e,
    HttpHeaders(响应头)引发IOException{
    //TODO自动生成的方法存根
    系统输出打印项次(“失败”);
    }
    };
    BatchRequest BatchRequest=转销商.batch();
    Subscription sub=新订阅();
    sub.setKind(“认购”);
    sub.setCustomerId(“testdomain.com”);
    Subscription.Plan=新建Subscription.Plan();
    计划。setPlanName(“试验”);
    座椅=新座椅();
    seats.setKind(“订阅席位”);
    座位。设置最大座位数(10);
    子计划(计划);
    子节:固定座椅(座椅);
    sub.setSkuId(“谷歌商务应用”);
    subscriptions().insert(“testdomain.com”,sub).setCustomerAuthToken(“B40D2EFF4316B703”).queue(批处理请求,回调);
    Subscription sub2=新订阅();
    sub2.setKind(“认购”);
    sub2.setCustomerId(“testdomain.com”);
    Subscription.Plan plan2=新建Subscription.Plan();
    计划2.设定计划名称(“试验”);
    座椅2=新座椅();
    座位2.setKind(“预订座位”);
    座位2.设置最大座位数(10);
    子2.集合计划(计划);
    子2.固定座椅(座椅);
    sub2.setSkuId(“谷歌保险库”);
    subscriptions().insert(“testdomain.com”,sub2).setCustomerAuthToken(“B40D2EFF4316B703”).queue(批处理请求,回调);
    //System.out.println(新的ObjectMapper().writeValueAsString(batchRequest);
    //如果我们称之为“失败”,因为在队列中有多个请求排队
    batchRequest.execute();
    
    请您发布一些代码,显示您尝试过的内容。我仍在等待解决方案。任何人都有建议吗?在这个问题上,谷歌的一个漏洞已被分为经销商API批处理操作。批处理操作应与日历API配合使用。您能向我们展示您的日历API代码吗?