Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.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 Drive SDK的替代方案,具有较少的依赖性_C#_Google Drive Api_Google Api Dotnet Client - Fatal编程技术网

C# Google Drive SDK的替代方案,具有较少的依赖性

C# Google Drive SDK的替代方案,具有较少的依赖性,c#,google-drive-api,google-api-dotnet-client,C#,Google Drive Api,Google Api Dotnet Client,我想在我的C#桌面应用程序中使用Google Drive API。然而,我发现官方的GoogleSDK的依赖性比我熟悉的要多(将它添加到我的VS2010项目中会增加10个额外的NuGet软件包)。我担心随着解决方案的发展,这些依赖关系将与其他依赖关系发生冲突 是否有一种替代方法可以利用较少的依赖关系 我可以使用不同的OAuth 2.0库吗?还是必须使用Google的OAuth sdk?Google的OAuth2.0实现是否有什么特别之处会妨碍使用替代OAuth2.0库 是否有一种替代方法可以利用

我想在我的C#桌面应用程序中使用Google Drive API。然而,我发现官方的GoogleSDK的依赖性比我熟悉的要多(将它添加到我的VS2010项目中会增加10个额外的NuGet软件包)。我担心随着解决方案的发展,这些依赖关系将与其他依赖关系发生冲突

  • 是否有一种替代方法可以利用较少的依赖关系
  • 我可以使用不同的OAuth 2.0库吗?还是必须使用Google的OAuth sdk?Google的OAuth2.0实现是否有什么特别之处会妨碍使用替代OAuth2.0库
  • 是否有一种替代方法可以利用较少的依赖关系

    您当然可以使用与的结合来编写自己的API。API使用简单的Get/Post/Put/Delete/Patch http方法来更改google驱动器中的文件

    我可以使用不同的OAuth 2.0库吗?还是必须使用Google的OAuth sdk

    视情况而定。如果您自己编写,那么您可以使用(或编写)任何OAuth客户机。http方法必须在请求中包含OAuth信息,因此编写自己的方法可以提供这种类型的访问

    如果你正在寻找一个实际的产品推荐,那将是一个很好的选择

    更新

    让我们谈谈OAuth如何在非常高的级别上工作

    代币是重要的组成部分。如果预构建框架没有任何方法让您指定令牌是什么,那么这并不重要

    如果您想自己验证您的请求,请在以下情况下使用C#:


    你自己滚动也不太费力

    所有http调用都记录在此页面上,并结合特定于场景的子页面(例如嵌入式、web等)

    一旦您认为您理解了它,就去位于的优秀Oauth游乐场观看http流量

    如果你能做出与你在操场上看到的相符的http调用,你就是钻石

    大部分工作是处理应用程序可能遇到的各种状态:-

    • 无效的授权(例如,Google使刷新令牌过期)
    • 代币到期
    • 超时
    • 用户拒绝身份验证

    您可以在http级别进行选择。您可以直接使用C#的http,也可以使用Erik提到的Google http库

    谢谢你,埃里克。很公平。也许问#2更好的方式是:“Google的OAuth 2.0实现是否有任何特殊之处会妨碍使用替代OAuth 2.0库?”根据您的评论进行更新。我最终滚动了自己的类来完成这一任务。我唯一的依赖项是(用于简化HTTP请求和json序列化)。
    GET /plus/v1/people/me HTTP/1.1
    Authorization: Bearer 1/fFBGRNJru1FQd44AzqT3Zg
    Host: googleapis.com