簡體   English   中英

Google Sheets API,在 C# 中為用戶獲取電子表格

[英]Google Sheets API, Get Spreadsheets for user in C#

我正在開發 Xamarin.Forms 應用程序,我想做的是:

  • 使用 Auth0 2.0 在 Google 中對用戶進行身份驗證
  • 之后我收到令牌響應
  • 獲取用戶帳戶中的所有電子表格

目前,我知道谷歌用最新版本更新了很多他們的 API,我不能再使用SpreadsheetsService 我在官方文檔中看到的是他們正在使用SheetsService ,至少他們在這里是這樣

這是我現在的代碼:

var service = new SheetsService(new BaseClientService.Initializer
{
    HttpClientInitializer = this.userCredential,
    ApplicationName = Statics.StaticStrings.AppDomain.ApplicationName
});

var spreadsheetId = "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms";
var range = "Class Data!A2:E";
SpreadsheetsResource.ValuesResource.GetRequest request = service.Spreadsheets.Values.Get(spreadsheetId, range);

到目前為止它是有效的,但我遇到的問題是,如果我有它的 ID,我可以得到電子表格,但我不確定從哪里可以得到它,當然我不想硬編碼它(使不感)。

this.userCredential是來自Google.Apis.Auth.OAuth2.UserCredential類型的Google.Apis.Auth.OAuth2.UserCredential ,我通過(IAuthorizationCodeFlow flow, string userId, TokenResponse token) ,因此在我傳遞令牌后,我希望我的用戶已經登錄。

我的問題是,如何獲取經過身份驗證的用戶獲得授權的所有電子表格,以便在此之后使用它們?

提前致謝!

public IList<Google.Apis.Drive.v3.Data.File> GetAllFiles()
{
    // Define parameters of request.
    FilesResource.ListRequest listRequest = service.Files.List();
    listRequest.PageSize = 10;
    listRequest.Q = "mimeType='application/vnd.google-apps.spreadsheet'";

    // List files.
    return  listRequest.Execute().Files;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM