Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Google Spreadsheets OAuth 2.0桌面应用程序-有人能简单地工作吗?_C#_Oauth 2.0_Google Oauth - Fatal编程技术网

C# Google Spreadsheets OAuth 2.0桌面应用程序-有人能简单地工作吗?

C# Google Spreadsheets OAuth 2.0桌面应用程序-有人能简单地工作吗?,c#,oauth-2.0,google-oauth,C#,Oauth 2.0,Google Oauth,好几天来我一直在为此烦恼。我承认,我不是“那种程序员”——我写数学算法,不是网络、安全或协议程序员。我想我会分享我目前的知识,因为这似乎是一个有点“零碎”的话题。也许我还不了解官方文档,但到目前为止,我正在努力,我发现其他人正在努力解决我怀疑仍然是一项新兴技术的问题。我将在下面的评论中发布这些链接 据我所知,有三种使用OAuth 2.0和/的基本方法,它们的实现略有不同 对于已安装的桌面应用程序,实际上只有两种方式可以访问Google drive,Oauth2或类似于Oauth1的服务帐户。我认

好几天来我一直在为此烦恼。我承认,我不是“那种程序员”——我写数学算法,不是网络、安全或协议程序员。我想我会分享我目前的知识,因为这似乎是一个有点“零碎”的话题。也许我还不了解官方文档,但到目前为止,我正在努力,我发现其他人正在努力解决我怀疑仍然是一项新兴技术的问题。我将在下面的评论中发布这些链接

据我所知,有三种使用OAuth 2.0和/的基本方法,它们的实现略有不同


  • 对于已安装的桌面应用程序,实际上只有两种方式可以访问Google drive,Oauth2或类似于Oauth1的服务帐户。我认为你不能用公开的API密钥访问Google drive,但我必须仔细检查一下

    有四种设置凭据的方法

  • 公共API访问(API密钥)用于公共访问,无需验证。GoogleBooks和GoogleURL缩写器,我认为Google+api的某些部分也是如此。(你没有提到这个,但我提到了)
  • 本机应用程序的客户端ID(已安装的应用程序)。这主要是当重定向URI始终是本地主机时。如果您在本地测试web应用程序,也可以使用此选项。(这是Oauth2,需要用户验证弹出式浏览器)
  • 服务帐户:不是服务r帐户,它们用于您个人有权访问数据的帐户。这将不需要用户进行身份验证,因为您已在后台为服务帐户设置了身份验证。示例:获取服务帐户电子邮件地址并授予其访问我的Google drive目录的权限,将授予其上载文件的权限
  • web应用程序对于web应用程序是“是”,因为身份验证服务器返回身份验证的重定向uri是一个网站。(Oauth2将需要身份验证)
  • 后台运行的自动化如果您想在cron选项卡中设置运行的内容,可以使用上述任何一项。第二个和第四个将要求您将刷新令牌保存到某个地方以供以后使用,因为它们是Oauth2

    GoogleAuthorizationCodeFlow是Google dotnet客户端库的旧版本

    GoogleWebAuthorizationBroker适用于的当前版本,如果您想使用任何NuGet软件包,您将使用此软件包。旧版本不再开发,因此任何新功能都将无法使用


    你已经指出了我的一个教程。这里有一个完整的列表

    实际上只有两种方式可以访问Google drive,Oauth2或类似于Oauth1的服务帐户。我认为你不能用公开的API密钥访问Google drive,但我必须仔细检查一下

    有四种设置凭据的方法

  • 公共API访问(API密钥)用于公共访问,无需验证。GoogleBooks和GoogleURL缩写器,我认为Google+api的某些部分也是如此。(你没有提到这个,但我提到了)
  • 本机应用程序的客户端ID(已安装的应用程序)。这主要是当重定向URI始终是本地主机时。如果您在本地测试web应用程序,也可以使用此选项。(这是Oauth2,需要用户验证弹出式浏览器)
  • 服务帐户:不是服务r帐户,它们用于您个人有权访问数据的帐户。这将不需要用户进行身份验证,因为您已在后台为服务帐户设置了身份验证。示例:获取服务帐户电子邮件地址并授予其访问我的Google drive目录的权限,将授予其上载文件的权限
  • web应用程序对于web应用程序是“是”,因为身份验证服务器返回身份验证的重定向uri是一个网站。(Oauth2将需要身份验证)
  • 后台运行的自动化如果您想在cron选项卡中设置运行的内容,可以使用上述任何一项。第二个和第四个将要求您将刷新令牌保存到某个地方以供以后使用,因为它们是Oauth2

    GoogleAuthorizationCodeFlow是Google dotnet客户端库的旧版本

    GoogleWebAuthorizationBroker适用于的当前版本,如果您想使用任何NuGet软件包,您将使用此软件包。旧版本不再开发,因此任何新功能都将无法使用


    你已经指出了我的一个教程。这里有一个完整的列表

    实际上只有两种方式可以访问Google drive,Oauth2或类似于Oauth1的服务帐户。我认为你不能用公开的API密钥访问Google drive,但我必须仔细检查一下

    有四种设置凭据的方法

  • 公共API访问(API密钥)用于公共访问,无需验证。GoogleBooks和GoogleURL缩写器,我认为Google+api的某些部分也是如此。(你没有提到这个,但我提到了)
  • 本机应用程序的客户端ID(已安装的应用程序)。这主要是当重定向URI始终是本地主机时。如果您在本地测试web应用程序,也可以使用此选项。(这是Oauth2,需要用户验证弹出式浏览器)
  • 服务账户:是n