示例#1
0
 private async Task DeleteFileWorksAsync(string fileName)
 {
     ICloudStorageClient client = new GoogleCloudStorageClient(ClientId, RedirectUrl);
     var credentials            = new CloudStorageCredentials {
         Token = new CloudStorageToken {
             AccessToken = GoogledriveAccessToken
         }
     };
     await client.DeleteFileAsync(fileName, credentials);
 }
示例#2
0
 private async Task UploadFileWorksAsync(string fileName, byte[] fileContent)
 {
     ICloudStorageClient client = new GoogleCloudStorageClient(ClientId, RedirectUrl);
     var credentials            = new CloudStorageCredentials {
         Token = new CloudStorageToken {
             AccessToken = GoogledriveAccessToken
         }
     };
     await client.UploadFileAsync(fileName, fileContent, credentials);
 }
示例#3
0
        public void ReallyDoOpenAuthorizationPageInBrowser()
        {
            IOAuth2CloudStorageClient client = new GoogleCloudStorageClient(ClientId, RedirectUrl);
            string requestUrl = client.BuildAuthorizationRequestUrl(State, CodeVerifier);

            Process browserProcess = new Process();

            browserProcess.StartInfo.UseShellExecute = true;
            browserProcess.StartInfo.FileName        = requestUrl;
            browserProcess.Start();
        }
示例#4
0
        private async Task <bool> FileExistsWorksAsync(string filename)
        {
            ICloudStorageClient client = new GoogleCloudStorageClient(ClientId, string.Empty);
            var credentials            = new CloudStorageCredentials {
                Token = new CloudStorageToken {
                    AccessToken = GoogledriveAccessToken
                }
            };

            return(await client.ExistsFileAsync(filename, credentials));
        }
示例#5
0
        private async Task <byte[]> DownloadFileWorksAsync(string fileName)
        {
            ICloudStorageClient client = new GoogleCloudStorageClient(ClientId, RedirectUrl);
            var credentials            = new CloudStorageCredentials {
                Token = new CloudStorageToken {
                    AccessToken = GoogledriveAccessToken
                }
            };

            return(await client.DownloadFileAsync(fileName, credentials));
        }
示例#6
0
        private async Task <List <string> > ListFileNamesWorksAsync()
        {
            ICloudStorageClient client = new GoogleCloudStorageClient(ClientId, string.Empty);
            var credentials            = new CloudStorageCredentials {
                Token = new CloudStorageToken {
                    AccessToken = GoogledriveAccessToken
                }
            };
            List <string> result = await client.ListFileNamesAsync(credentials);

            return(result);
        }
示例#7
0
        public async Task ReallyDoFetchToken()
        {
            if (!DoRealWebRequests)
            {
                return;
            }

            // Fetch token
            IOAuth2CloudStorageClient client = new GoogleCloudStorageClient(ClientId, RedirectUrl);
            CloudStorageToken         token  = await client.FetchTokenAsync(GoogledriveRedirectedUrl, State, CodeVerifier);

            Assert.IsNotNull(token.AccessToken);
            Assert.IsNotNull(token.RefreshToken);
        }
示例#8
0
    public async Task StaticClient()
    {
        NullNetworkDriver driver = new NullNetworkDriver();

        GoogleCloudStorageConfig config = new GoogleCloudStorageConfig();

        config.Credentials = new StringAccessKey("GOOGTS7C7FUP3AIRVJTE2BCDKINBTES3HC2GY5CBFJDCQ2SYHV6A6XXVTJFSA", "bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ");
        config.Region      = GoogleCloudStorageRegion.EuropeWest1;

        using GoogleCloudStorageClient client = new GoogleCloudStorageClient(config, driver);

        await client.GetObjectAsync("testbucket", "GetObjectAsync").ConfigureAwait(false);

        Assert.Equal("https://testbucket.storage.googleapis.com/GetObjectAsync", driver.LastUrl);
    }
示例#9
0
        public void ReallyDoFetchToken()
        {
            if (!DoRealWebRequests)
            {
                return;
            }

            const string redirectedUrl = "InsertRedirectedUrl";

            // Fetch token
            IOAuth2CloudStorageClient client = new GoogleCloudStorageClient(ClientId, RedirectUrl);
            CloudStorageToken         token  = Task.Run(async() => await FetchTokenAsync(client, redirectedUrl)).Result;

            Assert.IsNotNull(token.AccessToken);
            Assert.IsNotNull(token.RefreshToken);
        }
示例#10
0
        public async Task ReallyDoRefreshToken()
        {
            if (!DoRealWebRequests)
            {
                return;
            }

            CloudStorageToken oldToken = new CloudStorageToken
            {
                RefreshToken = GoogledriveRefreshToken,
            };

            // Refresh token
            IOAuth2CloudStorageClient client   = new GoogleCloudStorageClient(ClientId, RedirectUrl);
            CloudStorageToken         newToken = await client.RefreshTokenAsync(oldToken);

            Assert.IsNotNull(newToken.AccessToken);
            Assert.AreNotEqual(oldToken.AccessToken, newToken.AccessToken);
            Assert.AreEqual(oldToken.RefreshToken, newToken.RefreshToken);
        }
示例#11
0
        public void ReallyDoRefreshToken()
        {
            if (!DoRealWebRequests)
            {
                return;
            }

            CloudStorageToken oldToken = new CloudStorageToken
            {
                RefreshToken = "InsertRefreshToken",
            };

            // Refresh token
            IOAuth2CloudStorageClient client   = new GoogleCloudStorageClient(ClientId, RedirectUrl);
            CloudStorageToken         newToken = Task.Run(async() => await RefreshTokenAsync(client, oldToken)).Result;

            Assert.IsNotNull(newToken.AccessToken);
            Assert.AreNotEqual(oldToken.AccessToken, newToken.AccessToken);
            Assert.AreEqual(oldToken.RefreshToken, newToken.RefreshToken);
        }