File size: 2,129 Bytes
0bb81de
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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)