我已经完成了必要的步骤,以通过我的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。
答案 0 :(得分:0)
Google驱动器API是文件存储api。它允许您上传,下载,删除文件。它包含文件的文件夹列表层次结构列表。
它无法打开文件并查看内容。要在C#中执行此操作,您将需要在本地下载文件,并在应用程序中对可以打开该文件的程序进行编程。该API的响应将为Json。您也许可以将文件下载为流,并将其放置在某个位置,但这并不是您应该做的。
或者根据文件的类型,您可以检查文件元数据中的网络链接或下载链接参数。如果用户具有足够的权限可以查看该文件,则会在用户浏览器的google文档中打开该文件。
可以使用Google Sheets API打开Google表格文件,可以使用google docs API打开Google doc文件。这些对于您获取文件内容的格式化版本可能是更好的选择。但是您仍然需要创建自己的应用程序才能显示这些文件。