The /auth/v3/tenant_access_token/internal endpoint, like the OAuth token endpoints, returns code, msg, tenant_access_token, and expire at the top level of the JSON response — NOT nested under a 'data' key. FeishuAPIResponse<TenantAccessTokenData> decoded successfully but with data=nil (extra fields silently ignored by JSONDecoder). The guard then threw FeishuError.apiError(code: 0, message: 'ok') — appearing to succeed but always failing. This blocked the subsequent OAuth token exchange call. - Added code/msg fields to TenantAccessTokenData - tenantAccessToken() now decodes TenantAccessTokenData directly and checks data.code != 0 instead of going through FeishuAPIResponse Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Models | ||
| Services | ||
| Utils | ||
| ViewModels | ||
| Views | ||
| AppDelegate.swift | ||
| BuggerApp.swift | ||