我已经把头发撕了好几天了。我承认,我不是那种程序员" - 我写数学算法,不是网络,安全或协议程序员。我以为我会分享我目前的知识,因为这似乎是一个有点" bitty"话题。也许我还没有理解官方文件,但到目前为止,我正在努力,我发现其他各种人都在努力解决我怀疑仍然是新兴技术的问题。我将在评论中发布以下链接。
根据我的理解,有三种使用OAuth 2.0和Google Drive / Google Spreadsheets的原则方法实现方式略有不同。
对于已安装的桌面应用程序的OAuth 2.0,似乎有两种方法可以执行此操作。一个使用GoogleWebAuthorizationBroker
,另一个使用GoogleAuthorizationCodeFlow
。我无法明确地证明这一点,但似乎前者在2013年的某个时候被弃用,后者现在是首选方法。
首先,是否有人认为GoogleAuthorizationCodeFlow
现在是首选的方式是正确的吗?我简单地让GoogleWebAuthorizationBroker
方法工作并登录一次,我能够运行SpreadsheetsService.Query
但似乎生成的令牌只有一个小时有效,我还不知道如何刷新它。我怀疑GoogleAuthorizationCodeFlow
可以管理这个。
其次,任何人都可以使用C#中的OAuth 2.0为桌面应用发布检索和更新特定的,名为Google Spreadsheet 的任何工作代码吗?我自己正在研究它,如果我开始工作,我会发布我的代码。
答案 0 :(得分:3)
实际上只有两种方法可以访问Google驱动器,Oauth2或服务帐户,这是一种Oauth1。我不认为您可以使用公共API密钥访问Google云端硬盘,但我必须仔细检查。
有四种设置凭证的方法
自动化在后台运行如果您想在cron选项卡中运行某些设置,可以使用上述任何一项。两个和四个将要求您将刷新令牌保存到某个地方以供稍后使用,因为它们是Oauth2。
GoogleAuthorizationCodeFlow 是Google-dotnet-client lib的旧版本
GoogleWebAuthorizationBroker 适用于google-dotnet-client lib的当前版本,如果您想使用任何NuGet包,您将使用此功能。较旧的版本不再开发,因此任何新功能都无法使用。
您已经指出了我的一个教程。所有这些内容的完整列表在Google C# tutorials