jsonを用いたAPIに関するコードを書きましたがエラーが発生します。
自分では間違っているところを見つけられませんが、なぜかエラーが出てしまいます。
どなたかご教授ください。
因みに、これは「クラッシュロワイヤル」というゲームのAPIを使っています。
エラーコードは以下になります。
Traceback (most recent call last):
File "C:\Users\mto\Desktop\python_lesson\CRL\crl_api.py", line 53, in <module>
print(battle_info()[0]["type"])
TypeError: string indices must be integers
実際のコード
import json
import requests
access_key = #ここでは省略しています
URL = 'https://api.clashroyale.com/v1'
def battle_info():
target_api = URL + "/players/"
playerTag = "%238QRCJQ9Y"
url = target_api+playerTag+"/battlelog"
headers = {
"content-type": "application/json; charset=utf-8",
"cache-control": "max-age=60",
"authorization": "Bearer %s" % access_key}
r = requests.get(url,headers=headers)
data = r.json()
result = json.dumps(data,indent=4)
return result
print(battle_info()[0]["type"])
また、以下のbattle_info()を出力すると以下のようになります。
#実行コード
print(battle_info())
#実行結果
[
{
"type": "challenge",
"battleTime": "20190509T081821.000Z"
#続きは省略