Spaces:
Sleeping
Sleeping
File size: 2,411 Bytes
2c38fa9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | """
Debug script untuk melihat struktur data dari Dicoding API
Run ini terlebih dahulu untuk memahami struktur data
"""
import requests
import json
DICODING_API_BASE = "https://jrkqcbmjknzgpbtrupxh.supabase.co/rest/v1"
DICODING_API_KEY = "sb_publishable_h889CjrPIGwCMA9I4oTTaA_2L22Y__R"
headers = {
"apikey": DICODING_API_KEY,
"Authorization": f"Bearer {DICODING_API_KEY}",
"Content-Type": "application/json"
}
def test_endpoint(endpoint: str, limit: int = 2):
"""Test single endpoint and show structure"""
print(f"\n{'='*60}")
print(f"Testing: {endpoint}")
print(f"{'='*60}")
try:
url = f"{DICODING_API_BASE}/{endpoint}"
response = requests.get(url, headers=headers)
response.raise_for_status()
data = response.json()
if not data:
print("โ No data returned")
return
print(f"โ
Success! Total records: {len(data)}")
# Show first record structure
if len(data) > 0:
first_record = data[0]
print(f"\n๐ Columns ({len(first_record)}):")
for key, value in first_record.items():
value_type = type(value).__name__
value_preview = str(value)[:50] if value else "None"
print(f" - {key:25} ({value_type:10}): {value_preview}")
print(f"\n๐ Sample Records (first {min(limit, len(data))}):")
for i, record in enumerate(data[:limit], 1):
print(f"\n Record {i}:")
print(f" {json.dumps(record, indent=6, ensure_ascii=False)}")
except requests.exceptions.RequestException as e:
print(f"โ Error: {e}")
except Exception as e:
print(f"โ Unexpected error: {e}")
def main():
"""Test all endpoints"""
print("\n" + "="*60)
print(" DICODING API STRUCTURE DEBUGGER")
print("="*60)
endpoints = [
"learning_paths",
"courses",
"course_levels",
"tutorials"
]
for endpoint in endpoints:
test_endpoint(endpoint, limit=2)
print("\n" + "="*60)
print(" DONE!")
print("="*60)
print("\nโน๏ธ Gunakan informasi di atas untuk memahami struktur data API")
print(" Pastikan kolom yang digunakan di code sesuai dengan API response\n")
if __name__ == "__main__":
main() |