I have an end user with Tableau Desktop who is trying to make a connection to an external github using the WDC 2.0 connection.
The external provider is asking what API call is failing from Tableau Desktop. "logs for which specific API call is failing. If they're calling the Get View Metadata endpoint, I believe you only need to add the workspacesAndBases:read scope to get that working. If it is another endpoint or request that is failing, have them share the request they're sending so we can investigate."
I have no background in rest API so i am having an issue combing through the logs to get this answer. I tried to extract some portion of the error log that seemed to be most relevant. Does anyone know what API call is failing from the logs? Is there somewhere in the logs that specifies the API call?
----------------------------------------------
{"ts":"2025-05-29T09:43:27.820","pid":25892,"tid":"5cd8","sev":"info","req":"-","sess":"-","site":"-","user":"-","k":"web-data-connector","v":"Web view loading finished. Loading was successful. Loaded url is 'https://airtable-labs.github.io/airtable-tableau-wdc/'"}
{"ts":"2025-05-29T09:43:27.821","pid":25892,"tid":"6d8c","sev":"info","req":"-","sess":"-","site":"-","user":"-","k":"construct-protocol","v":{"attributes":{"APIVersion":"","authType":"basic","authentication":"yes","channel":"https","class":"webdata-direct","connectionData":"{\"BASE_ID\":\"appl1pFJ2xa8wNXnf\",\"FIELD_NAME_FOR_AIRTABLE_RECORD_ID\":\"_airtableRecordId\"}","connectionName":"Airtable Base appl1pFJ2xa8wNXnf","increment-key":"","password":"********","path":"/airtable-tableau-wdc/","port":"443","scriptVersion":"","secondary_whitelist":"","server":"airtable-labs.github.io","username":"","usernameAlias":""},"capability_customizations":"","connection_string_extras":"","created":"2025-05-29T09:43:23.959","created-elapsed":3.86,"disconnected":false,"id":2,"protocol":"WDCDirect","server_version":"","uses_initial_sql":false}}
{"ts":"2025-05-29T09:43:27.823","pid":25892,"tid":"5cd8","sev":"info","req":"-","sess":"-","site":"-","user":"-","k":"web-data-connector","v":"Secondary whitelist check passed for the request..."}
{"ts":"2025-05-29T09:43:27.821","pid":25892,"tid":"6080","sev":"info","req":"-","sess":"-","site":"-","user":"-","k":"end-protocol.create-protocol","l":{},"a":{"depth":2,"elapsed":3.861,"exclusive":3.861,"id":"LRrKdPDH0RkJtsw/ev22XO","name":"protocol.create-protocol","res":{"alloc":{"e":2.13e+05,"i":2.13e+05,"ne":1080,"ni":1080,"peak":4.30e+03},"free":{"e":1.73e+05,"i":1.73e+05,"ne":614,"ni":614},"kcpu":{"e":0,"i":0},"ntid":2,"ucpu":{"e":2,"i":2}},"rk":"ok","root":"0o4qF9G8Ew2KTfM7A+qKy7","rv":{},"sponsor":"LpPpJAOFUOILqBYP/4dxqj","type":"end"},"v":{"authentication":"yes","class":"webdata-direct","name":"webdata-direct.0lj82qw0gxmvgo1axxvsa0ntcg0r","protocol-class":"webdata-direct","server":"airtable-labs.github.io"},"ctx":{}}
{"ts":"2025-05-29T09:43:28.122","pid":25892,"tid":"5cd8","sev":"info","req":"-","sess":"-","site":"-","user":"-","k":"web-data-connector","v":"https://airtable-labs.github.io/airtable-tableau-wdc/index.js:164 -- Error: Status code 403 received while calling Metadata API. Does your account have access to this base?\n\n{\"error\":{\"type\":\"INVALID_PERMISSIONS_OR_MODEL_NOT_FOUND\",\"message\":\"Invalid permissions, or the requested model was not found. Check that both your user and your token have the required permissions, and that the model names and/or ids are correct.\"}}"}
{"ts":"2025-05-29T09:43:28.122","pid":25892,"tid":"5cd8","sev":"info","req":"-","sess":"-","site":"-","user":"-","k":"web-data-connector","v":"Reporting data source exception. Type='WDCAbortError' Message='Error during getSchema: Status code 403 received while calling Metadata API. Does your account have access to this base?\n\n{\"error\":{\"type\":\"INVALID_PERMISSIONS_OR_MODEL_NOT_FOUND\",\"message\":\"Invalid permissions, or the requested model was not found. Check that both your user and your token have the required permissions, and that the model names and/or ids are correct.\"}}'"}
{"ts":"2025-05-29T09:43:28.122","pid":25892,"tid":"5cd8","sev":"warn","req":"-","sess":"-","site":"-","user":"-","k":"excp","e":{"excp-error-code":"0x95BE3012","excp-source":"NeedsClassification","excp-status-code":"UNKNOWN"},"v":{"class":"","connectivity_stage":"ConnectivityStage::Unknown","dse-type":"WDCAbortError","excp-msg":"Error during getSchema: Status code 403 received while calling Metadata API. Does your account have access to this base?\n\n{\"error\":{\"type\":\"INVALID_PERMISSIONS_OR_MODEL_NOT_FOUND\",\"message\":\"Invalid permissions, or the requested model was not found. Check that both your user and your token have the required permissions, and that the model names and/or ids are correct.\"}}\n","excp-type":"ConnectivityException","is-bad-request":false,"is-capability-probe-failure":false,"is-local-configuration-error":false,"is-remote-configuration-error":false,"msg":"ConnectivityException::Init","server_version":"","sql_state":""}}
@greg p
Hi, it seems you need A Personal Access Token with the data.records:read scope enabled from the AirTable side.
https://support.airtable.com/docs/visualizing-records-from-airtable-in-tableau
If this post resolves the question, would you be so kind to "Select as Best"?. This will help other users find the same answer/resolution and help community keep track of answered questions. Thank you.
Regards,
Diego Martinez
Tableau Visionary and Forums Ambassador