import requests
# Use your existing access_token and instance_url from the previous step
access_token = 'YOUR_ACCESS_TOKEN'
instance_url = 'https://yourInstance.salesforce.com'
dashboard_id = 'YOUR_DASHBOARD_ID'
step_name = 'YOUR_STEP_NAME' # e.g., 'step_1'
headers = {
'Authorization': f'Bearer {access_token}',
'Content-Type': 'application/json'
}
# Step 1: Get dashboard metadata to find step names
metadata_url = f"{instance_url}/services/data/v59.0/wave/dashboards/{dashboard_id}"
metadata_response = requests.get(metadata_url, headers=headers)
metadata_response.raise_for_status()
dashboard_metadata = metadata_response.json()
# Step 2: Execute a step to get data
query_url = f"{instance_url}/services/data/v59.0/wave/query"
query_payload = {
"query": {
"dashboardId": dashboard_id,
"step": step_name
}
}
query_response = requests.post(query_url, headers=headers, json=query_payload)
query_response.raise_for_status()
data = query_response.json()
# Print results
for row in data.get('results', []):
print(row)