Tencent/WeKnora · error
WeKnoraCloud apiKey is required
Error message
WeKnoraCloud apiKey is required
What it means
Constructor validation in NewWeKnoraCloudSignedDocumentReader: the apiKey argument is empty, so signed requests to the WeKnoraCloud doc API could never be authenticated. The reader refuses construction; raised from ResolveDocumentReader/NewReader whenever a WeKnoraCloud datasource is configured without its API key.
Source
Thrown at internal/infrastructure/docparser/weknoracloud_http_reader.go:41
weKnoraCloudReaderBaseURL = "https://weknora.weixin.qq.com/api/v1/doc"
)
// WeKnoraCloudSignedDocumentReader implements the docreader HTTP protocol with WeKnoraCloud signing.
type WeKnoraCloudSignedDocumentReader struct {
appID string
apiKey string
client *http.Client
initialPollInterval time.Duration
maxPollInterval time.Duration
pollTimeout time.Duration
}
func NewWeKnoraCloudSignedDocumentReader(appID, apiKey string) (*WeKnoraCloudSignedDocumentReader, error) {
if appID == "" {
return nil, fmt.Errorf("WeKnoraCloud appID is required")
}
if apiKey == "" {
return nil, fmt.Errorf("WeKnoraCloud apiKey is required")
}
clientCfg := secutils.DefaultSSRFSafeHTTPClientConfig()
clientCfg.Timeout = 500 * time.Minute
return &WeKnoraCloudSignedDocumentReader{
appID: appID,
apiKey: apiKey,
initialPollInterval: 500 * time.Millisecond,
maxPollInterval: 10 * time.Second,
pollTimeout: 20 * time.Minute,
client: secutils.NewSSRFSafeHTTPClient(clientCfg),
}, nil
}
func (p *WeKnoraCloudSignedDocumentReader) Reconnect(addr string) error {
return nil
}
func (p *WeKnoraCloudSignedDocumentReader) IsConnected() bool { return true }View on GitHub (pinned to 988cbb0330)
Solutions
- Provide the WeKnoraCloud apiKey from configuration/secret store
- Check for blank env values or trimmed secrets
- Validate credentials before calling the constructor
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at internal/infrastructure/docparser/weknoracloud_http_reader.go:41 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Tencent/WeKnora@988cbb0330 (2026-09-02).
Data as JSON: /api/errors/c5c1647906663969.
Report an issue: GitHub.