使用现有访问令牌的Google Drive api .Net客户端简单授权

时间:2017-07-09 20:20:38

标签: c# asp.net-mvc google-drive-api

有没有办法使用.Net Api客户端和现有的有效访问令牌。 我想使用带有现有访问令牌的google drive api v3客户端,但我发现无法填充UserCredential对象。在这种情况下,我无法使用.Net客户端,因此必须使用httpClient运行所有操作。

1 个答案:

答案 0 :(得分:1)

我也遇到过类似的问题,但立即发现了。 您可以使用与以下代码类似的内容,但根据您的要求进行一些修改。

        var flow = new GoogleAuthorizationCodeFlow(new GoogleAuthorizationCodeFlow.Initializer
        {
            ClientSecrets = new ClientSecrets
            {
                ClientId = "your_client_id",
                ClientSecret = "your_client_secret_if_necessary"
            },
            Scopes = new [] { "scope_you_wish_to_access"}
        });

        var credential = new UserCredential(flow, "user_id", new TokenResponse
        {
            AccessToken = "user_access_token",
            RefreshToken = "user_refresh_token_if_necessary"
            // additional parameters if necessary
        });

        var service = new Any_Google_Service(new BaseClientService.Initializer
        {
            HttpClientInitializer = credential
        });

Google lib会自动执行很多操作,例如刷新过期的访问令牌。希望对您有帮助。