Spaces:
Sleeping
Sleeping
| import requests | |
| API_KEY = "AIzaSyBwwLnHXKmL5VQhkKzumCS5r1Cbi3HdUro" | |
| video_id = "dQw4w9WgXcQ" # Rick Astley - has many comments | |
| print("="*50) | |
| print("Testing YouTube API Key") | |
| print("="*50) | |
| print(f"API Key: {API_KEY[:10]}...{API_KEY[-10:]}") | |
| print(f"Video ID: {video_id}") | |
| print() | |
| # Test video info endpoint | |
| url = f"https://www.googleapis.com/youtube/v3/videos?part=statistics&id={video_id}&key={API_KEY}" | |
| response = requests.get(url) | |
| data = response.json() | |
| if "error" in data: | |
| print("[ERROR] API Error:") | |
| print(f" Message: {data['error']['message']}") | |
| print(f" Code: {data['error']['code']}") | |
| print(f" Reason: {data['error']['errors'][0]['reason']}") | |
| print() | |
| print("Possible solutions:") | |
| print("1. Enable YouTube Data API v3 in Google Cloud Console") | |
| print("2. Check if API key is correct") | |
| print("3. Make sure billing is enabled (even for free tier)") | |
| else: | |
| print("[SUCCESS] API Key is valid!") | |
| if 'items' in data and len(data['items']) > 0: | |
| print(f" Video found!") | |
| comment_count = data['items'][0]['statistics'].get('commentCount', 0) | |
| print(f" Comment count: {comment_count}") | |
| # Test fetching comments | |
| print() | |
| print("Testing comment fetch...") | |
| comments_url = f"https://www.googleapis.com/youtube/v3/commentThreads?part=snippet&videoId={video_id}&maxResults=5&key={API_KEY}" | |
| comments_response = requests.get(comments_url) | |
| comments_data = comments_response.json() | |
| if "items" in comments_data: | |
| print(f"[SUCCESS] Successfully fetched {len(comments_data['items'])} comments!") | |
| if len(comments_data['items']) > 0: | |
| first_comment = comments_data['items'][0]['snippet']['topLevelComment']['snippet']['textDisplay'] | |
| print(f" First comment: {first_comment[:100]}...") | |
| else: | |
| print("[WARNING] Could not fetch comments:") | |
| if "error" in comments_data: | |
| print(f" {comments_data['error'].get('message', 'Unknown error')}") | |
| else: | |
| print("[ERROR] Video not found") | |
| print("="*50) |