Android开发之完整的个人练手项目的开放API接口_android 开源api接口-程序员宅基地

技术标签: flutter  # Android 第三方分享  android  api  练手项目  

Android开发之完整的个人练手项目的开放API接口

 

项目地址:

https://www.wanandroid.com


 

 

1.首页相关

1.1 首页文章列表

https://www.wanandroid.com/article/list/0/json

方法:GET
参数:页码,拼接在连接中,从0开始。

很多 H5 页面会恶意跳转淘宝等,可以在 webview 的 shouldOverrideUrlLoading 中做一下拦截,非常影响用户体验。

可直接点击查看示例:https://www.wanandroid.com/article/list/1/json

注意:页码从0开始,拼接在链接上。

其中有两个易混淆的字段:

"superChapterId": 153, 
"superChapterName": "framework", // 一级分类的名称

superChapterId其实不是一级分类id,因为要拼接跳转url,内容实际都挂在二级分类下,所以该id实际上是一级分类的第一个子类目的id,拼接后故可正常跳转。

有两个字段比较容易混淆:

author 与 shareUser

网站上的文章可能是某位作者author的,也可能是某位分享人shareUser分享的。

如果是分享人分享的,author 为 null。

注意:除了文字标题,链接,其他字段都可能为null,一定要注意布局下发 null 时的显示情况。

1.2 首页banner

https://www.wanandroid.com/banner/json

方法:GET
参数:无

可直接点击查看示例:https://www.wanandroid.com/banner/json

1.3 常用网站

https://www.wanandroid.com/friend/json

方法:GET
参数:无

可直接点击查看示例:https://www.wanandroid.com/friend/json

1.4 搜索热词

即目前搜索最多的关键词。

https://www.wanandroid.com//hotkey/json

方法:GET
参数:无

可直接点击查看示例:https://www.wanandroid.com/hotkey/json

1.5 置顶文章

https://www.wanandroid.com/article/top/json

2. 体系

2.1 体系数据

https://www.wanandroid.com/tree/json

方法:GET
参数:无

可直接点击查看示例:https://www.wanandroid.com/tree/json

主要标识的网站内容的体系结构,二级目录。部分数据参考:

{
    "children": [
        {
            "children": [],
            "courseId": 13,
            "id": 60, // id会在查看该目录下所有文章时有用
            "name": "Android Studio相关", // 子名称
            "order": 1000,
            "parentChapterId": 150,
            "visible": 1
        },...
    ],
    "courseId": 13,
    "id": 150,
    "name": "开发环境", // 一级的名称
    "order": 1,
    "parentChapterId": 0,
    "visible": 1
}

2.2 知识体系下的文章

https://www.wanandroid.com/article/list/0/json?cid=60

方法:GET
参数:
	cid 分类的id,上述二级目录的id
	页码:拼接在链接上,从0开始。

例如查看类别:Android Studio下所有的文章:https://www.wanandroid.com/article/list/0/json?cid=60

2.3 按照作者昵称搜索文章

https://wanandroid.com/article/list/0/json?author=鸿洋

	方法:GET
	页码:拼接在链接上,从0开始。
	author:作者昵称,不支持模糊匹配。


3. 导航

3.1 导航数据

https://www.wanandroid.com/navi/json

方法:GET
参数:无

可直接点击查看示例:https://www.wanandroid.com/navi/json

4. 项目

4.1 项目分类

https://www.wanandroid.com/project/tree/json

方法: GET
参数: 无

项目为包含一个分类,该接口返回整个分类。

[
    {
        "children": [],
        "courseId": 13, 
        "id": 294, // 该id在获取该分类下项目时需要用到
        "name": "完整项目", // 该分类名称
        "order": 145000,
        "parentChapterId": 293,
        "visible": 0
    }
]

可以直接访问:https://www.wanandroid.com/project/tree/json

4.2 项目列表数据

某一个分类下项目列表数据,分页展示

https://www.wanandroid.com/project/list/1/json?cid=294

方法:GET
参数:
	cid 分类的id,上面项目分类接口
	页码:拼接在链接中,从1开始。

可以直接访问:https://www.wanandroid.com/project/list/1/json?cid=294

5. 登录与注册

5.1 登录

https://www.wanandroid.com/user/login

方法:POST
参数:
	username,password

登录后会在cookie中返回账号密码,只要在客户端做cookie持久化存储即可自动登录验证。

5.2 注册

https://www.wanandroid.com/user/register

方法:POST
参数
	username,password,repassword

5.3 退出

https://www.wanandroid.com/user/logout/json

方法:GET

访问了 logout 后,服务端会让客户端清除 Cookie(即cookie max-Age=0),如果客户端 Cookie 实现合理,可以实现自动清理,如果本地做了用户账号密码和保存,及时清理。

如果需要特殊的errorCode 来支持清除数据,请反馈。

6. 收藏

注意所有收藏相关都需要登录操作,建议登录将返回的cookie(其中包含账号、密码)持久化到本地即可。

对于需要登录访问的接口,强烈建议阅读下:

6.1 收藏文章列表

https://www.wanandroid.com/lg/collect/list/0/json

方法:GET
参数: 页码:拼接在链接中,从0开始。

在网站上登录后,可以直接访问https://www.wanandroid.com/lg/collect/list/0/json查看自己收藏的文章。

6.2 收藏站内文章

https://www.wanandroid.com/lg/collect/1165/json

方法:POST
参数: 文章id,拼接在链接中。

注意链接中的数字,为需要收藏的id.

6.3 收藏站外文章

https://www.wanandroid.com/lg/collect/add/json

方法:POST
参数:
	title,author,link

6.4 取消收藏

取消收藏一共有两个地方可以触发:

6.4.1 文章列表

https://www.wanandroid.com/lg/uncollect_originId/2333/json

方法:POST
参数:
	id:拼接在链接上

id传入的是列表中文章的id。

6.4.2 我的收藏页面(该页面包含自己录入的内容)

https://www.wanandroid.com/lg/uncollect/2805/json

方法:POST
参数:
	id:拼接在链接上
	originId:列表页下发,无则为-1

originId 代表的是你收藏之前的那篇文章本身的id; 但是收藏支持主动添加,这种情况下,没有originId则为-1

 

6.5 收藏网站列表

https://www.wanandroid.com/lg/collect/usertools/json

方法:GET
参数:无

6.6 收藏网址

https://www.wanandroid.com/lg/collect/addtool/json

方法:POST
参数:
	name,link

6.7 编辑收藏网站

https://www.wanandroid.com/lg/collect/updatetool/json

方法:POST
参数:
	id,name,link

6.8 删除收藏网站

https://www.wanandroid.com/lg/collect/deletetool/json

方法:POST
参数:
	id

7. 搜索

7.1 搜索

https://www.wanandroid.com/article/query/0/json

方法:POST
参数:
	页码:拼接在链接上,从0开始。
	k : 搜索关键词

注意:支持多个关键词,用空格隔开

8. TODO 工具

最新的 v2版本已经更新,建议使用:玩 Android TODO Open API v2,老接口依然支持,但是已经不再推荐使用。

注意所有TODO相关都需要登录操作,建议登录将返回的cookie(其中包含账号、密码)持久化到本地即可。

对于需要登录访问的接口,强烈建议阅读下:

9.积分 API 2019-08-25

积分排行榜接口

https://www.wanandroid.com/coin/rank/1/json

获取个人积分,需要登录后访问

https://www.wanandroid.com/lg/coin/userinfo/json

{
    "data": {
        "coinCount": 451, //总积分
        "rank": 7, //当前排名
        "userId": 2,
        "username": "x**oyang"
    },
    "errorCode": 0,
    "errorMsg": ""
}

获取个人积分获取列表,需要登录后访问

https://www.wanandroid.com//lg/coin/list/1/json

10. 广场 2019-10-02

10.1 广场列表数据

https://wanandroid.com/user_article/list/页码/json
GET请求
页码拼接在url上从0开始

示例:

https://wanandroid.com/user_article/list/0/json

可能出现返回列表数据<每页数据,因为有自见的文章被过滤掉了。

10.2 分享人对应列表数据

这个展示的文章数据都是审核通过的,一般是点击分享人然后展示的列表。

就像:https://wanandroid.com/user/2/articles/1

https://www.wanandroid.com/user/2/share_articles/页码/json

GET请求
参数:
	用户id: 拼接在url上
	页码拼接在url上从1开始

返回数据:

{
    "data": {
        "coinInfo": { // 该用户积分信息
            "coinCount": 20, // 积分总数
            "rank": 1, // 排名
            "userId": 2,
            "username": "x**oyang"
        },
        "shareArticles": { // 该用户分享文章分页信息
			}
		}
    },
    "errorCode": 0,
    "errorMsg": ""
}

示例:

https://www.wanandroid.com/user/2/share_articles/1/json

可能出现返回列表数据<每页数据,因为有自见的文章被过滤掉了。

10.3 自己的分享的文章列表

https://wanandroid.com/user/lg/private_articles/1/json
方法:
	GET
参数:
	页码,从1开始

如果你登陆了,可以直接点击查看自己分享的列表:
https://wanandroid.com/user/lg/private_articles/1/json

10.4 删除自己分享的文章

https://wanandroid.com/lg/user_article/delete/9475/json
请求:POST
参数:文章id,拼接在链接上

建议测试方式:登陆网站后,自己分享一篇文章在广场,然后与删除按钮,打开chrome调试模式,查看Network里面有请求。

10.5 分享文章

https://www.wanandroid.com/lg/user_article/add/json

请求:POST
参数:
	title:
	link

注意需要登录后查看,如果为CSDN,简书等链接会直接通过审核,在对外的分享文章列表中展示。

否则只能在自己的分享文章列表查看,见10.3。

11. 问答

https://wanandroid.com/wenda/list/1/json 

请求:GET

参数:
	pageId,拼接在链接上,例如上面的1

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35502206/article/details/111349562

智能推荐

Redis——Linux下安装以及命令操作_redis add命令-程序员宅基地

文章浏览阅读553次。Redis(Remote Dictionary Server ),即远程字典服务是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。是一款高性能的NOSQL系列的非关系型数据库_redis add命令

MSP430用按键中断控制定时器产生持续 1s 的周期信号_msp430g2553设置一个1秒的定时器-程序员宅基地

文章浏览阅读5.1k次。//////////////////////////////////////////////////////////////////////////////////////////////////////// 2012 年吉林省大学生电子设计大赛 C题> ----(声源部分)// 要求: 有信号产生电路, 放大电路, 声音频率 800Hz 左右, 按一次键响声持续 1 秒.//_msp430g2553设置一个1秒的定时器

计算机二级c语言停考之后,计算机等级考试今年起作重大调整 二级取消DOS-程序员宅基地

文章浏览阅读435次。2005年,全国计算机等级考试一级增加一级WPSOffice,二级取消三个科目,新增加三个科目,二级上机考试中取消对DOS部分的考核,新增科目将于2005年上半年在全国正式推广。记者昨天从教育部考试中心获悉,全国计算机等级考试今年开始进行重大调整,考试内容和考试方式上均有较大的变化。一级考试开考科目名称调整为:一级MSOffice(原称一级)、一级B,新增加一级WPSOffice。取消一级科目的纸..._为什么现在计算机c语言程序设计二级不分等级了吗?

SimpleHotUpdate使用技巧(UE5智能热更新插件)_ue5 打补丁-程序员宅基地

文章浏览阅读2k次。作者:人宅目录简介目前支持的功能1.界面认识1.1 加载SimpleHotUpdate插件1.2 OSS服务器配置1.3 热更新的服务器文件路径1.4 客户端热更后的安装补丁设置1.5 主版本和额外版本1.6 版本号1,7 关于打包的设置描述1.8 RSA加密1-9 菜单配置表按钮介绍1-10 HTTP服务器界面认识1-11 配置HTTP服务器的服务器1-12 HTTP服务器脚本2 上传补丁和加载补丁方法。2.1 补丁上传2.2 客户端安装策略2.3 生..._ue5 打补丁

微信小程序之 带参数跳转页面实例(传参及接收参数)_小程序页面传参案例,小松菜-程序员宅基地

文章浏览阅读1w次,点赞10次,收藏21次。带参数跳转页面目的:实现页面A带参跳转页面B,并在页面B中获取到相应的参数A页面--------获取id、name值并跳转页面// demo.jsgotoB() { let project_id = e.target.dataset.id; let project_name = this.data.userName; wx.navigateTo({ url: './add/add?id=' + project_id + '&name=' + project__小程序页面传参案例,小松菜

GEE随记(五):研究区平均温度变化曲线_gee中进行温度的趋势分析-程序员宅基地

文章浏览阅读496次。GEE生成研究区域一年内平均温度变化图_gee中进行温度的趋势分析

随便推点

「进击 Redis」二十六、你竟然还不知道 hash slot-程序员宅基地

文章浏览阅读242次。前言Redis 系列第二十七篇,也是Cluster 集群模式第二篇。 上篇我们已经通过画图与对比的方式将Cluster 虚拟槽寻址思路、取余hash和一致性hash寻址的原理弄清楚了,还有不熟悉的好哥哥可以看你竟然还不知道 hash slot 这篇了解一下。这一篇的话主要是对Cluster 集群的搭建与使用,上一篇又说到分成两篇的,想想篇幅还是不要那么长,于是乎就有了一篇。这一篇的话基本上都是一些实践性的内容,好哥哥们还是一样不要偷懒哦。有杠精好哥哥会说了,怎么哨兵模式的搭建你怎么不弄?有这么杠的好哥哥_hash slot

AI绘画Midjourney的咒语关键词汇总结_ai咒语词典-程序员宅基地

文章浏览阅读7.6k次,点赞6次,收藏37次。一个爱冒险的8岁可爱男孩,他喜欢探索和了解世界,在森林里,皮克斯动画风格,C4D,OC渲染器半身像镜头,黏土雕塑材质,电影照明,高质量,多细节,高清。_ai咒语词典

Listview使用-程序员宅基地

文章浏览阅读63次。ListView控件比前面几种控件要复杂一些,通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本。ListView控件是由ColumnHeader和ListItem对象所组成的,其中ColumnHeader对象的个数决定了控件的列数,而ListItem对象的个数则决定了控件的行数。(图7)  ColumnHeader对象是ListView控件中包含标头文字的项目。利用Colum..._tooltip1和listview中columnheader使用

远程管理服务器的时候反应特别慢_远程资源管理器速度慢-程序员宅基地

文章浏览阅读3.3k次。问题:远程管理服务器的时候反应特别慢,在命令行敲命令的时候很长时间才在终端显示出来怀疑原因:1、查看远程服务器CPU负载情况、内存使用情况、磁盘IO等系统资源使用情况,可以使用sar、uptime、top、iostat、vmstat等2、查看网络是否稳定,使用 ping 查看是否丢包严重..._远程资源管理器速度慢

C语言实现三次样条插值_typedef struct tagpoint // 插值点的结构体成员有x, y { double-程序员宅基地

文章浏览阅读2k次,点赞2次,收藏13次。#include <stdio.h># define MAX_N 20 // 定义(x_i,y_i)的最大的维数 typedef struct tagPOINT // 点的结构 { double x; double y;} POINT; int main ( ) { int n; int i, k; POINT points[MAX_N + 1]; double h[MAX_N + 1], b[MAX_N + 1], c[_typedef struct tagpoint // 插值点的结构体成员有x, y { double x; double y; }

Python基础——常用操作符_≥是操作符吗-程序员宅基地

文章浏览阅读1.4k次。文章目录算数操作符算数操作符Python的算数操作符大部分和我们理解的一样,但尤其要注意一些特别的操作符。一般常用的操作符有:+−∗/%∗∗// +\quad -\quad *\quad /\quad \%\quad **\quad //\quad+−∗/%∗∗//前四个不用过多介绍了,加减乘除。此外,Python和其他大多数编程语言一样,可以简化写法。例如:a = a+1 可以写成 a += 1 等。..._≥是操作符吗

推荐文章

热门文章

相关标签