chenhg5/cc-connect · error
%s: fetch tenant token for chat members: %w
Error message
%s: fetch tenant token for chat members: %w
What it means
fetchChatMembers could not obtain a fresh tenant access token (within its 10s timeout) before listing chat members. Wraps the token-fetch failure; root causes include invalid app credentials or Lark auth service unavailability.
Source
Thrown at platform/feishu/feishu.go:2260
fetchedAt time.Time
}
// fetchChatMembers retrieves all members of a chat and returns a name->openID map.
func (p *Platform) fetchChatMembers(ctx context.Context, chatID string) (map[string]string, error) {
if p.client == nil {
return nil, fmt.Errorf("%s: client not initialized", p.tag())
}
members := make(map[string]string)
req := larkim.NewGetChatMembersReqBuilder().
ChatId(chatID).
MemberIdType("open_id").
PageSize(100).
Build()
timeoutCtx, cancel := context.WithTimeout(ctx, 10*time.Second)
defer cancel()
token, err := p.fetchFreshTenantAccessToken(timeoutCtx)
if err != nil {
return nil, fmt.Errorf("%s: fetch tenant token for chat members: %w", p.tag(), err)
}
iter, err := p.client.Im.ChatMembers.GetByIterator(timeoutCtx, req, larkcore.WithTenantAccessToken(token))
if err != nil {
return nil, fmt.Errorf("%s: list chat members: %w", p.tag(), err)
}
for {
hasMore, member, err := iter.Next()
if err != nil {
slog.Debug(p.tag()+": fetch chat members page error", "chat_id", chatID, "error", err)
break
}
if member != nil && member.Name != nil && member.MemberId != nil {
name := *member.Name
if _, exists := members[name]; !exists {
members[name] = *member.MemberId
} else {
members[name] = ""
}View on GitHub (pinned to 4000b2338a)
Solutions
- Check app_id/app_secret validity
- Check network to open.feishu.cn; the token fetch has its own retry layer
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at platform/feishu/feishu.go:2260 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of chenhg5/cc-connect@4000b2338a (2026-09-06).
Data as JSON: /api/errors/be9e171d0e2f47b2.
Report an issue: GitHub.