【问题标题】:Where to find proper documentation for Google.GData.Spreadsheets nuget package?在哪里可以找到适用于 Google.GData.Spreadsheets nuget 包的文档?
【发布时间】:2021-09-17 09:36:53
【问题描述】:

所以,有一个应用程序 X,我目前正在修复,使用 .Net Framerwork v4.5Google.GData.Spreadsheets nuget 包编写,它检索某些 Google 电子表格中的行和列。

Google 在上个月(2021 年 8 月)正式关闭了 v3 电子表格 API,导致 X 停止工作。

X 是一款遗留应用程序,由目前不在我公司工作的员工编写,其中大部分是遗留代码。使用旧电子表格包的某些部分我既无法理解也无法正确调试。我真的很想至少找到那个旧包的文档,这样我就可以理解发生了什么。我对新 api 几乎没有问题,因为有一个 guide how to migrate from v3 to v4,所以我可以看到哪些 OAuth2.0 同意范围发生了变化等。但由于某种原因,我很难找到 Google.GData.Spreadsheets 的任何文档(至少在nuget.orgcode.google.com 上没有有用的、对我有用的信息)。

  • 是否有人使用过 Google.GData.Spreadsheets 包,如果有,您是否找到文档?
  • 在这种情况下,有人可以给我至少一般的方向性建议吗?
  • 过去 7 个月我没有使用 .net 平台,因此我解决此类问题的一般方法可能存在一些问题。

【问题讨论】:

    标签: google-sheets google-api nuget


    【解决方案1】:

    是否有人使用过 Google.GData.Spreadsheets 包,如果有,您是否找到文档?

    不,您不会,Google 表格 api 的 Gdata 版本已过时并且与 Google 表格 api v4 完全不同,您无法让它工作。

    在这种情况下,有人可以给我至少一般的方向性建议吗?

    您需要切换到 Google Sheets api v4,官方文档中有一个示例用于 .net Google sheets api sample 此示例使用 Google api .net 客户端库

    .net 的库是 Google api .net 客户端库

    对于控制台应用程序,授权应该是这样的。

    using (var stream = new FileStream(clientSecretJson, FileMode.Open, FileAccess.Read))
                    {
                        string credPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
                        credPath = Path.Combine(credPath, ".credentials/", System.Reflection.Assembly.GetExecutingAssembly().GetName().Name);
    
                        // Requesting Authentication or loading previously stored authentication for userName
                        var credential = GoogleWebAuthorizationBroker.AuthorizeAsync(GoogleClientSecrets.Load(stream).Secrets,
                                                                                 scopes,
                                                                                 userName,
                                                                                 CancellationToken.None,
                                                                                 new FileDataStore(credPath, true)).Result;
    
                        credential.GetAccessTokenForRequestAsync();
                        return credential;
                    }
    

    同样,此 api 与 gdata 完全不同,这意味着您需要更改应用程序对 api 进行的所有调用以使用新的 v4 版本。我个人希望这是一次完全重写,大约八年前我对像你这样的应用程序进行了升级。 Gdata 完全不同,一切从头开始。

    过去 7 个月我没有使用 .net 平台,因此我解决此类问题的一般方法中可能存在一些问题。

    • 对 .NET Framework 4、4.5 和 4.5.1 的支持已于 2016 年 1 月 12 日结束。
    • 对 .NET Framework 4.5.2、4.6 和 4.6.1 的支持将于 2022 年 4 月 26 日结束。

    您不妨升级到 .net 5。

    文档

    至于查找旧文档,恐怕它已经消失了。我在 Github 上找不到源代码,也找不到文档本身。 Google 在一年前宣布该 API 即将停用,您有点晚了。

    【讨论】:

    • 是的,重写可能是一个解决方案。
    • 说真的,我会重新开始。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    • 2013-12-10
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多