我可以使用C#在浏览器的Google驱动器中查看和打开文件吗

时间:2019-09-18 06:24:35

标签: c# google-drive-api google-api-dotnet-client

我已经完成了必要的步骤,以通过我的google帐户启用google drive API。

https://developers.google.com/sheets/api/quickstart/dotnet?refresh=1

下面的代码仅返回包含数据和可编辑链接的文件的值。

如何使用带有Google Drive API的c#在浏览器中的Google Drive中打开文件?

能否请您分享其他解决方案?


static void Main(string[] args)
        {
            try
            {
                static string[] Scopes = { SheetsService.Scope.Spreadsheets };
                static string ApplicationName = "Google Sheets API .NET Quickstart";
                UserCredential credential;

                using (var stream = new FileStream("credentials.json", FileMode.Open, FileAccess.ReadWrite))
                {
                    string credPath = "token.json";
                    credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                        GoogleClientSecrets.Load(stream).Secrets,
                        Scopes,
                        "user",
                        CancellationToken.None,
                        new FileDataStore(credPath, true)).Result;
                    Console.WriteLine("Credential file saved to: " + credPath);
                }

                var service = new SheetsService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName = ApplicationName,
                });

                String spreadsheetId = "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms";
                List<string> ranges = new List<string>();

                bool includeGridData = false;

                SpreadsheetsResource.GetRequest request = service.Spreadsheets.Get(spreadsheetId);
                request.Ranges = ranges;
                request.IncludeGridData = includeGridData;

                Spreadsheet response = request.Execute();

                Console.WriteLine(JsonConvert.SerializeObject(response));

                Console.Read();
            }
            catch (Exception e)
            {
                var ex = e;
                Console.WriteLine(e.Message);
            }

        }

谢谢

Sangeetha P。

1 个答案:

答案 0 :(得分:0)

Google驱动器API是文件存储api。它允许您上传,下载,删除文件。它包含文件的文件夹列表层次结构列表。

它无法打开文件并查看内容。要在C#中执行此操作,您将需要在本地下载文件,并在应用程序中对可以打开该文件的程序进行编程。该API的响应将为Json。您也许可以将文件下载为流,并将其放置在某个位置,但这并不是您应该做的。

或者根据文件的类型,您可以检查文件元数据中的网络链接或下载链接参数。如果用户具有足够的权限可以查看该文件,则会在用户浏览器的google文档中打开该文件。

可以使用Google Sheets API打开Goog​​le表格文件,可以使用google docs API打开Goog​​le doc文件。这些对于您获取文件内容的格式化版本可能是更好的选择。但是您仍然需要创建自己的应用程序才能显示这些文件。