Logo
Section 1 / 3

搜索可用文章

学习如何使用新闻 API 获取所有可用的文章。

导入

搜索可用文章

学习如何使用新闻 API 获取所有可用的文章。

在研究任何主题时,最佳方法是阅读相关新闻来源和博客上发布的不同文章。这有助于拓宽我们对主题的理解,并获取支持论点的证据,同时回答大多数问题。

参数类型分类说明
apiKey字符串必填这是API密钥。
q字符串必填这些是用于在文章标题、描述和正文内容中查找的关键字。该参数的值最大长度为500个字符。支持高级搜索。使用方法如下:用引号包裹关键字以进行精确匹配("keyword")。在关键字前加+号表示该词必须出现在文章中(+keyword)。在词语前加-号表示该词不能出现在文章中(-keyword)。还可以使用AND、OR和NOT运算符与关键字结合使用。
searchIn字符串可选用于限制关键字搜索范围至文章的标题、描述或正文内容。默认情况下,关键字将在整篇文章中进行搜索。
sources字符串可选指定希望获取新闻标题的来源。多个来源之间用逗号分隔。可通过Sources端点获取这些来源。单次搜索最多可使用20个来源。
domains字符串可选用户希望从中获取新闻的域名,例如 bbc.co.uk。可以有多个域名,用逗号分隔。
excludeDomains字符串可选用户不希望从中获取新闻的域名,例如 bbc.co.uk。可以有多个域名,用逗号分隔。
from字符串可选指定用户希望结果中最旧的文章日期。也可包含时间。输入格式为 "YYYY-MM-DD" 或 "YYYY-MM-DDTHH:MM:SS"。用户无法请求早于其订阅时间的文章。
to字符串可选指定用户希望结果中最新的文章日期。也可包含时间。输入格式为 "YYYY-MM-DD" 或 "YYYY-MM-DDTHH:MM:SS"。
language字符串可选用户希望获取新闻的语言代码。可用选项见附录。
sortBy字符串可选指定文章排序方式。可用选项见附录。
pageSize整数可选每页返回的结果数量,默认为100。
page整数可选用于获取指定页码的结果。默认为1。
1// 定义端点URL 2const endpointUrl = new URL("https://newsapi.org/v2/everything"); 3 4const headerParameters = { 5 contentType: "application/json", 6}; 7 8// 定义查询参数 9const queryParameters = new URLSearchParams({ 10 apiKey: '{{API_KEY}}', 11 q: 'Metaverse' 12}); 13 14// 设置API调用选项 15const options = { 16 method: "GET", 17 headers: headerParameters, 18}; 19 20// 发起API调用的函数 21async function searchArticles() { 22 try { 23 endpointUrl.search = queryParameters; 24 const response = await fetch(endpointUrl, options); 25 26 // 输出响应 27 printResponse(response); 28 } catch (error) { 29 // 输出错误信息 30 printError(error); 31 } 32} 33 34// 调用函数发起API请求 35searchArticles();
名称类型说明
status字符串请求的状态。如果请求成功,值为ok;否则为error。若请求失败,还会返回code和message字段。
totalResults整数与查询匹配的总文章数量。根据pageSize参数,仅显示部分文章。剩余文章可通过设置page参数为对应页码来查看。
articles对象数组包含检索到的文章信息的数组。
source对象包含发布文章的来源名称和ID。
author字符串文章作者姓名。
title字符串文章标题。
description字符串文章描述或摘要内容。
url字符串文章的直接链接地址。
urlToImage字符串文章相关图片的URL。
publishedAt字符串文章发布的日期和时间,格式为UTC(+000)时间。
content字符串文章的原始内容(如有),内容会被截断至200个字符。
1const API_KEY = '{{API_KEY}}'; 2 3const endpointUrl = new URL('https://newsapi.org/v2/everything'); 4 5const queryParameters = new URLSearchParams({ 6 apiKey: API_KEY, 7 q: 'VR Headsets', 8 from: yesterday, 9 to: yesterday, 10 pageSize: 5, 11 page: 1, 12 sortBy: 'publishedAt' 13}); 14 15const headerParameters = { 16 contentType: "application/json", 17}; 18 19const options = { 20 method: 'GET', 21 headers: headerParameters 22}; 23 24async function fetchArticles() { 25 try { 26 endpointUrl.search = queryParameters; 27 const response = await fetch(endpointUrl, options); 28 printResponse(response); 29 } 30 catch (error) { 31 printError(error); 32 } 33} 34 35fetchArticles();
1const API_KEY = '{{API_KEY}}'; 2 3const endpointUrl = new URL('https://newsapi.org/v2/everything'); 4 5const queryParameters = new URLSearchParams({ 6 apiKey: API_KEY, 7 q: 'Web 3.0', 8 excludeDomains: 'bbc.co.uk', 9 pageSize: 10, 10 page: 1, 11 sortBy: 'popularity', 12 language: 'en', 13}); 14 15const headerParameters = { 16 contentType: "application/json", 17}; 18 19const options = { 20 method: 'GET', 21 headers: headerParameters 22}; 23 24async function fetchArticles() { 25 try { 26 endpointUrl.search = queryParameters; 27 const response = await fetch(endpointUrl, options); 28 printResponse(response); 29 } 30 catch (error) { 31 printError(error); 32 } 33} 34 35fetchArticles();

简介

获取头条新闻