新浪微博 .net API for Desktop and UWP
Package | Nuget | 框架要求 |
---|---|---|
HN.Social.Weibo.Core | .Net Standard 2.0/.Net Standard 2.1/.Net Core 5.0 | |
HN.Social.Weibo.Desktop | .Net Framework 4.6.1/.Net Core 3.1 | |
HN.Social.Weibo.Uwp | UWP 16299 或以上 |
本文档编写于 2020 年 4 月 1 日
已封装基本的 API,没有的 API 可使用扩展方法来封装
官方 API 参考
https://open.weibo.com/wiki/%E5%BE%AE%E5%8D%9AAPI
https://open.weibo.com/apps/替换为你的应用Id/privilege
IWeiboClient client = new WeiboClientBuilder()
.WithConfig(options =>
{
options.AppKey = "";// 应用信息 - 基本信息 - 应用基本信息 - App Key
options.AppSecret = "";// 应用信息 - 基本信息 - 应用基本信息 - App Secret
options.RedirectUri = "";// 应用信息 - 高级信息 - OAuth2.0授权设置 - 授权回调页
options.Scope = "all";// 可选,参考 https://open.weibo.com/wiki/Scope
})
.UseDefaultAuthorizationProvider()// 使用当前平台默认授权器(Desktop 使用 Winform 的 WebBrowser,UWP 使用 WebView)
.UseMemoryAccessTokenStorage()// 使用内存 access token 存储
// .UseDefaultAccessTokenStorage()// 或使用当前平台默认 access token 存储(Desktop 使用独立存储,UWP 使用 PasswordVault)
.Build();
除初始化配置缺失的情况外,正常情况下本库所抛出的异常基类均为 WeiboException
。建议全局捕获处理。
Desktop 参考:
https://github.com/h82258652/HN.Social.Weibo/blob/master/demo/DesktopDemo/App.xaml.cs
UWP 参考:
https://github.com/h82258652/HN.Social.Weibo/blob/master/demo/UwpDemo/App.xaml.cs
若调用微博接口返回错误,则会转为 WeiboApiException
(继承自 WeiboException
)异常抛出,开发者可以根据错误码进行处理。
try
{
await client.SignInAsync();
}
catch (UserCancelAuthorizationException)
{
// TODO 用户取消了授权
}
catch (HttpErrorAuthorizationException)
{
// TODO 授权期间网络错误
}
await client.SignOutAsync();
bool isSignIn = client.IsSignIn;
var user = await client.GetUserAsync(client.UserId);
3.5、分享(参考)
var status = await client.ShareAsync("测试 https://wpdn.bohan.co/az/hprichbg/rb/MandelaMonument_EN-US8903823453_1920x1080.jpg");
返回的错误码请参考微博的文档
http://open.weibo.com/wiki/Error_code
1.封装更多常用接口