# news 接口文档
[TOC]
## 1 概述
获取新闻
## 2 接口
**接口鉴权:**
* 调用服务使用的域名参考 BytePower 文档。
* 一般接口分为 Server To Server(以下简称S2S,path 中有`/bp/server/user/{user_id}`) 和 Client To Server(以下简称C2S),分别用于服务端调用和客户端调用,两种接口分别使用不同的身份验证方式;
1. S2S 接口需用 Header:`X-BytePower-Auth-Token` 作为身份验证,Token 生成方式见[文档](https://bytepower.appcloudbox.net/api/#/)。
2. C2S 接口需用 Header:`X-BytePower-Sign` 作为请求体验证,签名方式见[文档](https://bytepower.appcloudbox.net/api/#/);使用 Header:`X-BytePower-Session-Token` 作为用户身份验证,可通过登录接口获得。
### 2.1 获取新闻
```
GET /bp/news?country=&language=&limit=&category=
GET /bp/server/user/{user_id}/news?country=&language=&limit=&category=
```
参数都是可选参数
#### 2.1.1 请求参数详解
country 可选参数,默认所有国家。示例 `us` `cn` 等。[支持的国家文档](https://mediastack.com/sources)
language 可选参数,默认所有语言。示例 `en` `zh`。支持的语言如下
```
ar - Arabic
de - German
en - English
es - Spanish
fr - French
he - Hebrew
it - Italian
nl - Dutch
no - Norwegian
pt - Portuguese
ru - Russian
se - Swedish
zh - Chinese
```
category 可选参数,默认所有种类。示例 `general` `sports`。支持的新闻类别如下
```
general - Uncategorized News
business - Business News
entertainment - Entertainment News
health - Health News
science - Science News
sports - Sports News
technology - Technology News
```
limit 可选参数。默认为 20。最大有效值为 100。
#### 2.1.2 返回参数
返回结果按发布时间倒序排列
```jsx=
{
"news":[
{
"author": "TMZ Staff", // 作者
"title": "Rafael Nadal Pulls Out Of U.S. Open Over COVID-19 Concerns", // 标题
"description": "Rafael Nadal is officially OUT of the U.S. Open ... the tennis legend said Tuesday it's just too damn unsafe for him to travel to America during the COVID-19 pandemic. \"The situation is very complicated worldwide,\" Nadal wrote in a statement. \"The…", // 描述
"url": "https://www.tmz.com/2020/08/04/rafael-nadal-us-open-tennis-covid-19-concerns/", // 地址
"source": "TMZ.com", // 新闻来源
"image": "https://imagez.tmz.com/image/fa/4by3/2020/08/04/fad55ee236fc4033ba324e941bb8c8b7_md.jpg", // 图片
"category": "general", // 新闻类别
"language": "en", // 新闻语言
"country": "us", // 国家
"published_at": "2020-08-05T05:47:24+07:00"// 时间格式均为 ISO8601 标准格式,请按此格式解析
}
]
}
```