市场要闻

使用 tigeropen::news::NewsClient 查询个股新闻和市场要闻,配置方式与该 SDK 的快速入门相同。资讯客户端使用主网关配置,查询资讯不需要抢占实时行情设备访问权。

get_market_news

pub async fn get_market_news(&self, req: NewsHighlightListRequest) -> Result<NewsPage, TigerError>

说明

查询市场要闻列表,对应 news_highlight_list。不传游标从最新文章开始;下一页使用上一页最后一条新闻的 ID。请求不含页码或每页条数,响应页码恒为 1。空 items 是正常成功结果。

参数

参数名类型是否必填描述
req.last_idOption<String>No上一页最后一条的 id;None 从最新开始
req.langOption<Language>NoNone 不发送;枚举为 ZhCn / ZhTw / EnUs

返回

Result<NewsPage, TigerError>。

属性名类型描述
itemsVec<NewsItem>当前页资讯
page_counti32当前页码;市场要闻恒为 1
page_sizei32每页条数
total_pagei32总页数
total_sizei32总条数

新闻条目具有以下属性:

属性名类型描述
idString文章 ID,可作市场要闻下一页游标
titleString标题
summaryString摘要
pub_timestampi64发布时间,秒级时间戳
urlString详情页 URL

示例

use tigeropen::config::ClientConfig;
use tigeropen::model::enums::Language;
use tigeropen::model::news_requests::NewsHighlightListRequest;
use tigeropen::news::NewsClient;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let config = ClientConfig::builder().build()?;
    let news_client = NewsClient::from_config(config);
    let page = news_client.get_market_news(NewsHighlightListRequest {
        lang: Some(Language::ZhCn), ..Default::default()
    }).await?;
    if let Some(last) = page.items.last() {
        let next = news_client.get_market_news(NewsHighlightListRequest {
            lang: Some(Language::ZhCn), last_id: Some(last.id.clone()),
        }).await?;
        println!("{}", next.items.len());
    }
    news_client.close();
    Ok(())
}

返回示例

以下 JSON 根据 SDK 固定测试数据构造,展示响应 data 的字段结构;实际调用返回上文列出的 SDK 对象。

{
  "items": [
    {
      "id": "123456",
      "title": "Apple Q2",
      "summary": "Earnings beat",
      "pubTimestamp": 1729413600,
      "url": "https://example.com/news/123456"
    }
  ],
  "pageCount": 1,
  "pageSize": 20,
  "totalPage": 1,
  "totalSize": 1
}

请求频率

基础限流为 60 次/分钟。


Did this page help you?