Can';t使用Google Sheets API和C#WPF访问Google Sheet中的数据,而无需登录
下面是我用来从电子表格中获取数据的代码。如果我登录到google+,这是可行的,但这不是我的目的,因为我希望用户通过此应用程序访问数据 当我在另一台PC上构建并提供文件给用户时,它甚至不会启动应用程序,至少我自己可以启动Can';t使用Google Sheets API和C#WPF访问Google Sheet中的数据,而无需登录,c#,json,google-sheets,C#,Json,Google Sheets,下面是我用来从电子表格中获取数据的代码。如果我登录到google+,这是可行的,但这不是我的目的,因为我希望用户通过此应用程序访问数据 当我在另一台PC上构建并提供文件给用户时,它甚至不会启动应用程序,至少我自己可以启动 String myUrl = "http://nofile.io/g/[REDACTED]/client_secret.json"; WebClient client = new WebClient(); {
String myUrl =
"http://nofile.io/g/[REDACTED]/client_secret.json";
WebClient client = new WebClient(); {
client.DownloadFile(myUrl, "\\client_secret.json");
}
UserCredential credential;
using (var stream =
new FileStream("\\client_secret.json", FileMode.Open, FileAccess.Read)) {
string credPath = Environment.GetFolderPath(
Environment.SpecialFolder.Personal);
credPath = Path.Combine(credPath, ".credentials/sheets.googleapis.com-dotnet-quickstart.json");
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
Scopes,
"user",
CancellationToken.None,
new FileDataStore(credPath, true)).Result;
Console.WriteLine("Credential file saved to: " + credPath);
}
// Create Google Sheets API service.
var service = new SheetsService(new BaseClientService.Initializer {
HttpClientInitializer = credential,
ApplicationName = ApplicationName
});
// Define request parameters.
String spreadsheetId = "1uLxm0jvmL1_FJNYUJp6YqIezzqrZdjPf2xQGOWYd6ao";
String range = "TestSheet!A1:F";
SpreadsheetsResource.ValuesResource.GetRequest request =
service.Spreadsheets.Values.Get(spreadsheetId, range);
File.Delete("\\client_secret.json");
不是每个帐户都可以写入驱动器的根目录。。“client.DownloadFile(myUrl,“\\client\u secret.json”);”…webclient下载并保存.json文件,最后将其删除