【问题标题】:Google Sheets C# Not Returning all Sheets谷歌表格 C# 不返回所有表格
【发布时间】:2016-04-25 17:11:40
【问题描述】:

我已经实现了一个 Google 服务帐户并将其添加为工作表上的授权用户。

接下来我使用以下代码来访问工作表源:

const string gUser = "SVC-ACCOUNT@developer.gserviceaccount.com";
const string certFile = "CERTFILE.p12";
    static void Main(string[] args) {
        var certificate = new X509Certificate2(certFile, "notasecret", X509KeyStorageFlags.Exportable);

        var serviceAccountCredentialInitializer = new ServiceAccountCredential.Initializer(gUser) {
            Scopes = new[] { "https://spreadsheets.google.com/feeds/" }
        }.FromCertificate(certificate);


        var credential = new ServiceAccountCredential(serviceAccountCredentialInitializer);
        if (!credential.RequestAccessTokenAsync(System.Threading.CancellationToken.None).Result)
            return;

        var requestFactory = new GDataRequestFactory(null);
        requestFactory.CustomHeaders.Add("Authorization: Bearer " + credential.Token.AccessToken);
        var service = new SpreadsheetsService("MY-SHEETS-SVC") { RequestFactory = requestFactory };

        SpreadsheetQuery query = new SpreadsheetQuery();
        var sheetFeed = service.Query(query);

        Console.WriteLine("Spreadsheet list:");
        foreach (var sheet in sheetFeed.Entries) {
            Console.WriteLine("\t--" + sheet.Title.Text);
        }
        Console.ReadLine();
    }

尽管授予服务帐户编辑权限,但它不会返回任何工作表。我已经将服务帐户添加到 Google Apps 安全组,结果没有任何变化。过去创建帐户(相同的应用程序域等)并在共享设置中授予其编辑权限是所需要的。 API 是否已更改为仅需要 OAUTH,还是我缺少某个设置?

【问题讨论】:

    标签: c# google-api google-sheets google-spreadsheet-api service-accounts


    【解决方案1】:

    我的应用程序域正在更改,目前正在迁移中。在新帐户下添加了一张表,它立即出现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-15
      • 2018-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-18
      • 2022-12-13
      相关资源
      最近更新 更多