前提・実現したいこと
PythonのフレームワークDjangoを用いてウェブアプリを開発しています。
そこで、json_dataとbusiness_discoveryを並べている、def getの6行目に関して該当のエラーがでました。
エラーで記述している、オーバーロードに関するリファレンスが少なく、苦戦しております。
発生している問題・エラーメッセージ
No overloads for "__getitem__" match the provided arguments Argument types: (Literal['json_data'])
該当のソースコード
Python
1 2 3def get_account_info(params): 4 # エンドポイント 5 # https://graph.facebook.com/{graph-api-version}/{ig-user-id}?fields={fields}&access_token={access-token} 6 7 endpoint_params = {} 8 # ユーザ名、プロフィール画像、フォロワー数、フォロー数、投稿数、メディア情報取得 9 endpoint_params['fields'] = 'business_discovery.username(' + params['ig_username'] + '){\ 10 username,profile_picture_url,follows_count,followers_count,media_count,\ 11 media.limit(10){comments_count,like_count,caption,media_url,permalink,timestamp,media_type,\ 12 children{media_url,media_type}}}' 13 endpoint_params['access_token'] = params['access_token'] 14 url = params['endpoint_base'] + params['instagram_account_id'] 15 return [call_api(url, endpoint_params)] 16 17def get(self, request, *args, **kwargs): 18 # Instagram Graph API認証情報取得 19 params = get_credentials() 20 # アカウント情報取得 21 account_response = get_account_info(params) 22 business_discovery = account_response['json_data']['business_discovery'] 23 # print(business_discovery) 24 account_data = { 25 'profile_picture_url': business_discovery['profile_picture_url'], 26 'username': business_discovery['username'], 27 'followers_count': business_discovery['followers_count'], 28 'follows_count': business_discovery['follows_count'], 29 'media_count': business_discovery['media_count'], 30 }
試したこと
カッコの付け方などを変えたりしたが、影響はオーバーロードのようで具体的な解決が全く検討つかずの状態です。
補足情報(FW/ツールのバージョンなど)
Django~=3.1.3
django-widget-tweaks~=1.4.8
requests~=2.24.0
django-environ~=0.4.5
pandas~=1.1.4