PicoBot/.qoder/skills/lark-im/references/lark-im-feed-group-query-item.md
ooodc a7883dbed9 refactor(todo): 重构待办事项管理逻辑及更新状态规则
- 移除 TodoItem 中的 priority、created_at 和 updated_at 字段
- 强制每个任务都必须有唯一 id,且由用户负责生成
- 修改合并模式逻辑,merge=true 下保留未提及的旧任务
- 支持已完成和已取消任务重新激活(状态改回 pending 或 in_progress)
- 禁止 in_progress 状态退回到 pending,必须标记为 completed 或 cancelled
- 优化状态转换校验,允许特定状态间合法切换
- 简化任务变更消息,移除详细的新增/更新/移除统计
- 更新文档和示例,明确 id 必须由用户生成和使用
- 修复和补充测试,增强状态转换和合并模式验证
- 调整任务时间戳生成逻辑,统一使用当前时间及索引
- 该变更提供更合理的任务状态机械及管理模式,提升稳定性和易用性
2026-06-13 09:22:33 +08:00

2.3 KiB

+feed-group-query-item

Shortcut for lark-cli im +feed-group-query-item. Look up specific feed cards inside one feed group (tag) by ID, enriched with a readable chat_name.

+feed-group-query-item is the only CLI surface for the feed.groups.batch_query_item read API — there is no raw feed.groups batch_query_item command. It resolves a human-readable chat_name for every feed card it returns: a v1 feed card's feed_id is always a chat ID (oc_xxx), so the shortcut issues a follow-up POST /open-apis/im/v1/chats/batch_query and injects chat_name into each entry of both items[] and deleted_items[].

Identity

User-only. Run with --as user.

Scopes

Because chat-name resolution always runs, this shortcut needs two user scopes unconditionally:

  • im:feed_group_v1:read — to read the items
  • im:chat:read — to resolve names

chat_name resolution always runs, so there is no single-scope, un-enriched path. For the other raw feed.groups.* methods, see lark-im-feed-groups.md.

Usage

lark-cli im +feed-group-query-item --as user \
  --feed-group-id ofg_xxx --feed-id oc_a,oc_b

Flags

Flag Required Description
--feed-group-id Yes Feed group ID (ofg_xxx); path parameter
--feed-id Yes Comma-separated chat IDs (oc_xxx); feed_type is fixed to chat

Output

The command sends {"items":[{"feed_id":"oc_a","feed_type":"chat"},{"feed_id":"oc_b","feed_type":"chat"}]}, then enriches the response (items[] and deleted_items[]) with chat_name exactly as +feed-group-list-item does. There is no pagination for this method.

A feed card whose chat cannot be resolved (soft-deleted or no permission) simply omits chat_name — the command still exits 0. p2p (direct) chats also omit chat_name: the server returns an empty name for them (the client UI shows the partner's display name instead); if a label is needed, fetch the chat via chats/batch_query, read p2p_target_id, and resolve it with a contact lookup.

See also