亿方云 C# 版本 SDK,集成亿方云 V2 系列API。该 SDK 可以在包括 .Net 4.0 以上的各个版本上运行。
.Net 3.5 版本请使用 2.x 版本。 3.x版本支持Jwt模式,需要 .Net 4.0及以上运行环境
当前最新版本及最新改动同步在master分支。
1. 直接添加DLL引用
您可以在这里找到所有的Release,选择您需要的版本下载,解压后将*.dll文件添加至项目引用。需要注意的是,此SDK依赖Json.NET, Jose.Jwt和BouncyCastle。
Install-Package Newtonsoft.Json
Install-Package jose-jwt
Install-Package BouncyCastle
2. 包管理器(NuGet)安装
或者从NuGet来安装,以Visual Studio 2015/2017为例,打开NuGet程序包管理器搜索Yfy.Api
或者在控制台中键入以下命令:
Install-Package Yfy.Api
3. 从源码编译
当然,您也可以直接从源码编译
git clone https://github.com/yifangyun/fangcloud-csharp-sdk.git
使用流程:
-
引入命名空间。
using Yfy.Api;
-
初始化YfySystem。ClientId和ClientSecret 是你在亿方云网站上申请的id和secret
YfySystem.Init(YourClientId, YourClientSecret);
-
使用accesstoken初始化Yfyclient
var fc = new YfyClient(YourAccessToken);
-
使用YfyClient中的Users/Files/Folders/Common等去操作特定的api
var user = fc.Users.Info();
WebDemo 是一个小型的 web app,包括了完整的 Oauth2 的授权和发送 api 过程。运行此 demo 时需进入企业控制台—企业设置—开放平台,修改你的应用回调地址。 成功后修改 WebDemo下的 Web.config 文件,填入你的 client_id, client_secret和redirect_url, 即可在vs内建的IIS中运行该demo
RequestDemo 是一个简单的通过 access token 获取用户信息的 demo。
-
通过OAuth授权的方式,示例见WebDemo
-
通过密码模式
注意,密码模式的用户名和密码不是clientId 和 clientSecret!
var username = "username"; var password = "password"; var clientId = "Your clientId"; var clientSecret = "Your clientSecret"; YfySystem.Init(clientId, clientSecret); var token = OAuthHelper.GetOAuthTokenByPassword(username, password);
-
通过Jwt模式
- 首先构造Jwt的payload
各项参数说明见文档
var payload = new YfyJwtPayload(YfySubType, kid, sub, JwtAlgorithms);
- 构造 X509Certificate2 对象
var cert = new X509Certificate2(pathToCert);
关于如何使用 X509Certificate2 请参阅MSDN文档。
需要注意的是,构造的 X509Certificate2 必须包含私钥。
- 获取AccessToken
var accessToken = OAuthHelper.GetOAuthTokenByJwt(payload, cert);
- 如果你拥有RSA私钥,可以直接使用RSA私钥获取AccessToken
var accessToken = OAuthHelper.GetOAuthTokenByJwt(payload, pathToRSAKey, RSAPasswd);
注意:RSA key 只接受 pkcs1 格式,不接受 pkcs8 格式!
-
补充
- RSA pkcs8转成pkcs1格式
openssl rsa -in pkcs8_rsa_private.key -out pkcs1_private.key
- 使用已存在的RSA 私钥生成自签名证书
opensshl req -new -x509 -days 365 -key private.key -out cert.crt
openssl pkcs12 -export -in cert.crt -inkey private.key -out server.p12
这样生成的 p12 文件可以用来直接构造 X509Certificate2 对象
-
Fork
-
创建新分支 git checkout -b my-new-feature
-
提交改动 git commit -am 'Added some feature'
-
将您的修改记录提交到远程 git 仓库 git push origin my-new-feature
-
然后到 github 网站的该 git 远程仓库的 my-new-feature 分支下发起 Pull Request
Copyright (c) 2017 杭州亿方云网络科技有限公司
基于 MIT 协议发布