移动端开发:如何利用WordPress.com API获取私有站点文章?
可以通过WordPress.com API加载私有站点文章,以下是具体实现方案
首先明确:完全可以实现你的需求——由应用自行提供凭据,无需用户输入登录信息,就能获取私有WordPress.com站点的文章。你遇到的403错误,大概率是OAuth Token的权限范围或站点访问配置问题,下面一步步解决:
1. 确认OAuth Token的权限范围(Scope)
你的Token必须包含针对私有站点的读取权限,这是核心前提。
- 如果之前获取Token时没有指定
read或更精准的site:readscope,需要重新发起授权请求,明确在授权URL中添加scope=read参数。 - 可以通过调用
GET /rest/v1/me/接口,检查返回的scopes字段,确认是否包含read权限。
2. 确保Token对应的用户拥有私有站点访问权限
应用使用的Token必须属于被授权访问该私有站点的用户(比如站点管理员、编辑或有读取权限的用户)。哪怕Token有read scope,如果用户本身没权限访问私有站点,依然会返回403。
3. 正确构造API请求
请求私有站点文章时,必须明确指定站点ID或域名,并在请求头中携带Token:
请求示例(curl)
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" "https://public-api.wordpress.com/rest/v1/sites/your-private-site.wordpress.com/posts/"
请求说明
- 将
your-private-site.wordpress.com替换为你的私有站点域名(或站点ID); YOUR_ACCESS_TOKEN替换为你已获取的有效Access Token;- 若需要筛选私有文章,可以添加参数
status=private(默认返回公开文章,私有文章需要明确指定)。
4. 处理Token过期问题(可选但重要)
为了让应用长期稳定运行,建议在授权时获取refresh_token,当Access Token过期时,用Refresh Token自动刷新获取新的Access Token,无需用户干预。
为什么之前会返回403?
结合你的情况,最可能的原因是:
- Token缺少
read权限范围; - Token对应的用户未被添加到私有站点的访问列表中;
- 请求未正确指定私有站点的标识(ID/域名)。
内容的提问来源于stack exchange,提问作者user9074126
相关产品推荐
相关产品推荐

