Google Directory API - 如何获取BatchRequest的结果反序列化对象

时间:2016-08-05 11:55:55

标签: c# .net google-api google-api-dotnet-client google-directory-api

我正在尝试使用BatchRequests加速.net客户端库中的某些google目录api调用

假设我有以下batchRequest(仅包含一个) 要求简单):

    static async Task BatchRequesting()
    {
        var batchReq = new BatchRequest(_dirservices[0]);

        var r = _dirservices[0].Users.Get("user@domain.com");
        batchReq.Queue<UsersResource.GetRequest>(r,
            (contentReq, error, j, message) =>
        {
              ... what to do here?
        });

        await batchReq.ExecuteAsync();
    }

如何在回调中获得生成的反序列化响应对象(在我的情况下,这将是一个User对象) 我是否必须自己处理message.Content对象(HttpContent)以及所有json反序列化?

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。我使用了错误的通用参数。我的代码示例必须是这样的:

static async Task BatchRequesting()
{
    var batchReq = new BatchRequest(_directoryService);

    var request = _directoryService.Users.Get("user@domain.com");
    batchReq.Queue<User>(request,
        (returnedUser, error, j, message) =>
    {
           if (error != null)
           {
              Console.WriteLine(error.Message);
           }
            else
           {
             ... work with returnedUser
           }
    });

    await batchReq.ExecuteAsync();
}