我可以使用 C# 在浏览器中查看和打开 google 驱动器中的文件吗
Can i view and open a file in google drive in browser using C#
我已完成必要的步骤以使用我的 google 帐户启用 google 驱动器 API。
https://developers.google.com/sheets/api/quickstart/dotnet?refresh=1
仅以下代码 returns 文件的值包含数据且可编辑 link。
如何在 google 驱动器 API 中使用 c# 在浏览器中打开文件?
能否分享其他解决方案?
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.
Google 驱动器 API 是一个文件存储 api。它允许您上传、下载、删除文件。它包含文件的文件夹列表层次结构列表。
它无法打开您的文件并查看内容。要在 C# 中执行此操作,您需要在本地下载该文件并在您的应用程序中编写一些可以打开该文件的程序。此 api 的响应将是 Json。您也许可以将文件作为流下载并将其放在某个地方,但这实际上不是您应该做的。
或者根据文件类型,您可以检查文件元数据中的网络link 或下载link 参数。这将在用户浏览器的 google 文档中打开文件,前提是他们有足够的权限查看该文件。
Google 工作表文件可以使用 google 工作表打开 api,Google 文档文件可以使用 google 文档打开 api.这些可能是您获取文件内容的格式化版本的更好选择。但是您仍然需要创建自己的应用程序来显示这些文件。
我已完成必要的步骤以使用我的 google 帐户启用 google 驱动器 API。
https://developers.google.com/sheets/api/quickstart/dotnet?refresh=1
仅以下代码 returns 文件的值包含数据且可编辑 link。
如何在 google 驱动器 API 中使用 c# 在浏览器中打开文件?
能否分享其他解决方案?
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.
Google 驱动器 API 是一个文件存储 api。它允许您上传、下载、删除文件。它包含文件的文件夹列表层次结构列表。
它无法打开您的文件并查看内容。要在 C# 中执行此操作,您需要在本地下载该文件并在您的应用程序中编写一些可以打开该文件的程序。此 api 的响应将是 Json。您也许可以将文件作为流下载并将其放在某个地方,但这实际上不是您应该做的。
或者根据文件类型,您可以检查文件元数据中的网络link 或下载link 参数。这将在用户浏览器的 google 文档中打开文件,前提是他们有足够的权限查看该文件。
Google 工作表文件可以使用 google 工作表打开 api,Google 文档文件可以使用 google 文档打开 api.这些可能是您获取文件内容的格式化版本的更好选择。但是您仍然需要创建自己的应用程序来显示这些文件。