gpt4 book ai didi

c# - 如何通过 Key 使用 C# GData API 请求单个电子表格?

转载 作者:行者123 更新时间:2023-11-30 21:01:21 25 4
gpt4 key购买 nike

我有一个程序可以验证并获取所有使用 GData API 的 C# 实现版本 3 的电子表格的列表(它遵循文档中的 the example)。我很难弄清楚的是如何通过文档 key 获取单个资源。我可以在 Google Documents List API 中看到大量检索文档列表的示例。我可以看到如何通过 exact name search 将特定文档归零,但我正在尝试生成一些在电子表格被重命名后仍然存在的代码。这是我到目前为止编写的代码:

using System;
using Google.GData.Client;
using Google.GData.Spreadsheets;
using Microsoft.VisualBasic;

namespace q14201622
{
class Program
{
static void Main(string[] args)
{
//OAuth 2 Stuff
var parameters = new OAuth2Parameters() {
ClientId = CLIENT_ID,
ClientSecret = CLIENT_SECRET,
RedirectUri = REDIRECT_URI,
Scope = SCOPE
};
Process.Start(OAuthUtil.CreateOAuth2AuthorizationUrl(parameters));
var response = Interaction.InputBox("Enter oAuth Code:", "q14201622", "", 0, 0);
parameters.AccessCode = response;
OAuthUtil.GetAccessToken(parameters);
var accessToken = parameters.AccessToken;

//Fetch Documents
var requestFactory = new GOAuth2RequestFactory(null, "q14201622-v1", parameters);
var service = new SpreadsheetsService("q14201622-v1");
var query = new SpreadsheetQuery();
query.Title = "Exact Title";
query.Exact = true;

//Iterate over the results
var feed = service.Query(query);
foreach (var entry in feed.Entries)
{
Console.WriteLine(entry.Id + ":"+ entry.Title.Text);
}
}
}
}

最佳答案

这个我没有测试,但是根据这个https://developers.google.com/gdata/client-cs您可以使用其 URL 请求特定条目:

FeedQuery singleQuery = new FeedQuery();
singleQuery.Uri = new Uri(newEntry.SelfUri.ToString());
AtomFeed newFeed = service.Query(singleQuery);
AtomEntry retrievedEntry = newFeed.Entries[0];

现在,如果您有文档 key ,您还有 URL (https://docs.google.com/spreadsheet/ccc?key=[insert key here])你可以使用一个简单的

string docKey = "nice doc key";
string gDocsURL = "https://docs.google.com/spreadsheet/ccc?key={0}";
string docURL = String.Format(gDocsURL,docKey);

然后

FeedQuery singleQuery = new FeedQuery();
singleQuery.Uri = new Uri(docURL);
AtomFeed newFeed = service.Query(singleQuery);
AtomEntry retrievedEntry = newFeed.Entries[0];

并且您应该能够检索该文档。如果要将文档保存到硬盘,只需添加

string docFormat ="xlsx";// or xls or csv or pdf etc.
string gDocsDownloadURL="https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key={0}&exportFormat={1}"
string downloadUrl = String.format(gDocsDownloadURL,docKey,docFormat);
Stream stream = service.Query(new Uri(downloadUrl));

关于c# - 如何通过 Key 使用 C# GData API 请求单个电子表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14201622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com