前提・実現したいこと
プログラミング初心者です。pythonでyoutubeのAPIを取得してデータを分析したいと
思っていますが、エラーが解決せずに困っています。
コードは以下のサイトを引用しています。
APIキーは入力済です。
発生している問題・エラーメッセージ
File "C:\Users\bkn191004\anaconda3\練習用コード\実験 youtubeAPI.py", line 32, in <module> get_video_info(part='snippet',q='料理',order='viewCount',type='video',num = 50) File "C:\Users\bkn191004\anaconda3\練習用コード\実験 youtubeAPI.py", line 15, in get_video_info output = youtube.search().list(part=part,q=q,order=order,type=type).execute() File "C:\Users\bkn191004\anaconda3\lib\site-packages\googleapiclient\_helpers.py", line 134, in positional_wrapper return wrapped(*args, **kwargs) File "C:\Users\bkn191004\anaconda3\lib\site-packages\googleapiclient\http.py", line 907, in execute raise HttpError(resp, content, uri=self.uri) googleapiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/youtube/v3/search?part=snippet&q=%E6%96%99%E7%90%86&order=viewCount&type=video&key=AIzaSyDZlvmR-R6Rw62phNgGaJiq-YsEyuJqnl0&alt=json returned "Daily Limit Exceeded. The quota will be reset at midnight Pacific Time (PT). You may monitor your quota usage and adjust limits in the API Console: https://console.developers.google.com/apis/api/youtube.googleapis.com/quotas?project=473673527062"
該当のソースコード
python
1from apiclient.discovery import build 2 3YOUTUBE_API_KEY = 'APIキーを入力' 4 5youtube = build('youtube', 'v3', developerKey=YOUTUBE_API_KEY) 6 7#numに入れた数字×5件の情報を取得 8#その他のパラメーターはAPIから情報を取得するパラメータと同じ 9def get_video_info(part, q, order, type, num): 10 dic_list = [] 11 search_response = youtube.search().list(part=part,q=q,order=order,type=type) 12 output = youtube.search().list(part=part,q=q,order=order,type=type).execute() 13 14 #一度に5件しか取得できないため何度も繰り返して実行 15 for i in range(num): 16 dic_list = dic_list + output['items'] 17 search_response = youtube.search().list_next(search_response, output) 18 output = search_response.execute() 19 20 df = pd.DataFrame(dic_list) 21 #各動画毎に一意のvideoIdを取得 22 df1 = pd.DataFrame(list(df['id']))['videoId'] 23 #各動画毎に一意のvideoIdを取得必要な動画情報だけ取得 24 df2 = pd.DataFrame(list(df['snippet']))[['channelTitle','publishedAt','channelId','title','description']] 25 ddf = pd.concat([df1,df2], axis = 1) 26 27 return ddf 28 29get_video_info(part='snippet',q='料理',order='viewCount',type='video',num = 50) 30