博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于博客园开放API的授权问题解决
阅读量:5301 次
发布时间:2019-06-14

本文共 1665 字,大约阅读时间需要 5 分钟。

昨天心中一动,想对接一下博客园,因为界面和后台实在是丑陋的像是回到十几年前。

然后搜了搜,果然有开放的API:https://api.cnblogs.com/help。

需要先申请,昨天傍晚申请,差不多今早九点半左右的样子就收到回复邮件了,效率还是不错的。

 

 

然后,我就对照着help网站的接口文档开始搞授权token部分,结果搞这么多接口开发,居然在这栽掉了。

折腾了一上午,居然没有丝毫进展。

 

。。。

傍晚的时候继续,好吧,还是没有丝毫进展,准备放弃了。

晚上和老婆玩了一局王者。。。。

然后继续搞这个api,园内找别人之前对接的说明。都试过了,不行:

https://www.cnblogs.com/cmt/p/5741764.html

https://www.cnblogs.com/zhangtingkuo/p/cnblogs-oauth20-get-access-token-and-login.html

好颓废。

然后又去看了下邮件,试了试改下连接地址:https://oauth.cnblogs.com/connect/token

居然好了。。。。

好吧,这个接口对接过程好曲折,特此纪念一下。

贴上.NET Core请求部分的代码(未优化)

1     using (var client = new HttpClient()) 2     { 3         client.BaseAddress = new Uri("https://oauth.cnblogs.com"); 4         client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded")); 5  6         var basicAuth = string.Format("Basic {0}", Convert.ToBase64String(Encoding.UTF8.GetBytes($"{Input.ClientID}:{Input.ClientSecret}"))); 7         var content = new StringContent($"grant_type=client_credentials"); 8         content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded"); 9         client.DefaultRequestHeaders.Add("Authorization", basicAuth);10 11         var response = await client.PostAsync("connect/token", content);12         if (!response.IsSuccessStatusCode) throw new KeyNotFoundException(await response.Content.ReadAsStringAsync());13         var result = await response.Content.ReadAsStringAsync();14         TokenResponse = JsonConvert.DeserializeObject
(result);15 16 SetTokenCache(TokenResponse);17 return RedirectToPage("Index");18 }

 

转载于:https://www.cnblogs.com/bu-dong/p/9236238.html

你可能感兴趣的文章
java基础(一):我对java的三个环境变量的简单理解和配置
查看>>
arcgis api 4.x for js 结合 Echarts4 实现散点图效果(附源码下载)
查看>>
YTU 2625: B 构造函数和析构函数
查看>>
Notepad++ 16进制编辑功能
查看>>
Caffe: Cannot create Cublas handle. Cublas won't be available
查看>>
Linux 下 LXD 容器搭建 Hadoop 集群
查看>>
apache自带压力测试工具ab的使用及解析
查看>>
C语言作业3
查看>>
C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码
查看>>
koogra--Excel文件读取利器
查看>>
jenkins搭建
查看>>
C#中使用Split分隔字符串的技巧
查看>>
eclipse的调试方法的简单介绍
查看>>
OneAPM 云监控部署与试用体验
查看>>
加固linux
查看>>
wget 升级
查看>>
为什么需要大数据安全分析?
查看>>
day13.字典复习
查看>>
IPSP问题
查看>>
(转)Java中的String为什么是不可变的? -- String源码分析
查看>>