欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

深入解析WordPress REST API的各个细节接口

最编程 2024-02-22 11:30:39
...

前言


感觉好久没有写点比较有内容的blog了。一直没什么空,最近假期刚好有点时间,回顾之前忙的东西,刚好可以对前段时间对wordpress(下面简称:wp)将其应用到iOS的app移动开发应用当中的调研结果进行总结。我觉得这个挺有意思的,而且有必要做个笔记。

我做iOS开发也有几年了,什么是wordpress都没听说过,认为是一个很偏的存在。心里面充满了疑问,wp是什么?有什么用?我能拿来干嘛?

于是带着这些问题,先科普一下:

WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。

这是百度百科对它的定义,大概有了模糊的了解,如有兴趣进一步了解来龙去脉点击这里查看


通过上面我们基本了解wp的是一个适用广泛、拓展性很强、插件很多的开发博客页面的框架。而且该框架已经比较成熟,已经有对应的后台、安卓、web的开发教程。很遗憾的就是没有iOS开发教程。为此才开启了我的调研过程。作为移动端对wp的解读,本质上就是对WordPress Rest API插件的解读。即将接口和参数字段摸索出来并得到应用。通过中文网站和诸多博客的借鉴、以及通过多天的亲自测试了解。得到了一套比较有用的最新的API接口:


注:

1、以下接口拼接自己的域名,如:http://chenzimin.example.cn

2、在wpAPI文档中,有些接口没有提供,建站时需要后台服务器帮助提供,以下我这边是自己后台服务器提供接口用米字号作*标记。

3、以下接口get请求一般请求头可以不带token。

4、wo记得没错的话,wp的token有效期为24小时。


1、登录注册模块

1.1、用户注册 *

请求协议|请求方法:HTTP|POST

接口路径:/fapi/userregster.php

请求参数:

144391998337111649.jpg

成功示例:

24

直接返回新用户id。


1.2、获取Token

请求协议|请求方法:HTTP|POST


接口路径:/wp-json/jwt-auth/v1/token

请求参数

参数类型:表单


15040284433856741.jpg


 

"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC96aG91YnV5aS5tZWlsYXNoaWRhaS5jbiIsImlhdCI6MTU4Njc2NDA3MCwibmJmIjoxNTg2NzY0MDcwLCJleHAiOjE1ODczNjg4NzAsImRhdGEiOnsidXNlciI6eyJpZCI6IjIyIn19fQ.7kgtWfUTlm6tbZX63V7OEpo08PAxakZiK4e9DE6Nvb8",
    "user_email":"",
    "user_nicename":"100022",
    "user_display_name":"1111111"
}


1.3、验证Token

请求协议|请求方法:HTTP|POST

接口路径:/wp-json/jwt-auth/v1/token/validate

请求头部:

891193186777909889.jpg


成功示例:


{
    "code":"jwt_auth_valid_token",
    "data":{
        "status":200
    }
}


注意点1: 获取的token要放在请求头,并且token值的格式必须为:Bearer+token值,否侧无法判断。

注意点2: 要实现这个接口,需要后台服务器授权验证,详细参考:使用 JWT Authentication 验证 WordPress REST API 权限,只有授权验证处理通过,这个接口才能请求成功,否则会返回错误,要求授权。


1.4、账户登录 *

请求协议|请求方法:HTTP|POST

接口路径:/fapi/loginwithtoken.php

请求头部:

891193186777909889.jpg

请求参数:

15040284433856741.jpg


15040284433856741.jpg 15040284433856741.jpg

成功示例:


{
    "data":{
        "ID":"22",
        "user_login":"1111111",
        "user_pass":"$P$BSz.lD0LqQxK/v8E9Un1Cc3VwnURpp.",
        "user_nicename":"100022",
        "user_email":"wyp001@123.com",
        "user_url":"",
        "user_registered":"2020-04-13 07:23:02",
        "user_activation_key":"",
        "user_status":"0",
        "display_name":"1111111",
        "father_id":"0",
        "reg_ip":""
    },
    "ID":22,
    "caps":{
        "author":true
    },
    "cap_key":"wp_capabilities",
    "roles":[
        "author"
    ],
    "allcaps":{
        "upload_files":true,
        "edit_posts":true,
        "edit_published_posts":true,
        "publish_posts":true,
        "read":true,
        "level_2":true,
        "level_1":true,
        "level_0":true,
        "delete_posts":true,
        "delete_published_posts":true,
        "author":true
    },
    "filter":null
}


1.5、获取用户信息

请求协议|请求方法:HTTP|GET

接口路径:/wp-json/wp/v2/users/me

请求头部:

852867365165416636.jpg



成功示例:


{
    "id":22,
    "name":"1111111",
    "url":"",
    "description":"描述啊描述",
    "link":"http://chenzimin.example.cn/author/100022/",
    "slug":"100022",
    "avatar_urls":{
        "24":"http://cn.gravatar.com/avatar/cf29dfa8761d26cf525bd3275293a527?s=24&d=mm&r=g",
        "48":"http://cn.gravatar.com/avatar/cf29dfa8761d26cf525bd3275293a527?s=48&d=mm&r=g",
        "96":"http://cn.gravatar.com/avatar/cf29dfa8761d26cf525bd3275293a527?s=96&d=mm&r=g"
    },
    "meta":[
    ],
    "woocommerce_meta":{
        "activity_panel_inbox_last_read":"",
        "activity_panel_reviews_last_read":"",
        "categories_report_columns":"",
        "coupons_report_columns":"",
        "customers_report_columns":"",
        "orders_report_columns":"",
        "products_report_columns":"",
        "revenue_report_columns":"",
        "taxes_report_columns":"",
        "variations_report_columns":"",
        "dashboard_sections":"",
        "dashboard_chart_type":"",
        "dashboard_chart_interval":"",
        "dashboard_leaderboard_rows":""
    },
    "_links":{
        "self":[
            {
                "href":"http://chenzimin.example.cn/wp-json/wp/v2/users/22"
            }
        ],
        "collection":[
            {
                "href":"http://chenzimin.example.cn/wp-json/wp/v2/users"
            }
        ]
    }
}


1.6、修改用户信息

wpAPI中没有找到该接口,是根据获取用户信息get方法,推理出来,修改用户信息为post,测试部分字段有效,以下请求参数列表,是个人认为会有用到,才罗列出来的。

请求协议|请求方法:HTTP|POST

接口路径:/wp-json/wp/v2/users/me

请求头部:


749528279194146740.jpg






成功示例:


{
    "id":22,
    "username":"1111111",
    "name":"测试将name1111111修改ceshi",
    "first_name":"",
    "last_name":"",
    "email":"wyp001@123.com",
    "url":"",
    "description":"描述啊描述",
    "link":"http://chenzimin.example.cn/author/100022/",
    "locale":"zh_CN",
    "nickname":"1111111",
    "slug":"100022",
    "roles":[
        "author"
    ],
    "registered_date":"2020-04-13T07:23:02+00:00",
    "capabilities":{
        "upload_files":true,
        "edit_posts":true,
        "edit_published_posts":true,
        "publish_posts":true,
        "read":true,

						

上一篇: 如何在Windows 10中停用WPS各应用的自动更新功能

下一篇: 使用Python获取WPS云文档的方法或工具

推荐阅读