問題
freshdeskからすべてのサポートチケットのステータスのリストを取得しようとしています。
これまでのところ、すべてのチケットをrequest.getすることができましたが、情報が多すぎます。そのため、jsonデータから「ステータス」のみを取得しようとしています。
チケットの情報を1つだけ印刷したい場合は、次のようになります。
ticketresponse = requests.get(freshdeskticketsurl, auth = (freshdeskapi, freshdeskpassword))
ticket_json = ticketresponse.json()
ticket_str = json.dumps(ticket_json[0], indent=2)
print(ticket_str)
応答:
{
"cc_emails": [],
"fwd_emails": [],
"reply_cc_emails": [],
"ticket_cc_emails": [],
"fr_escalated": false,
"spam": false,
"email_config_id": null,
"group_id": 43000110950,
"priority": 1,
"requester_id": taking that out of this example,
"responder_id": taking that out of this example,
"source": 3,
"company_id": taking that out of this example,
"status": 5,
"subject": "Receptiontv-min - can't use slide show in powerpoint",
"association_type": null,
"support_email": null,
"to_emails": null,
"product_id": null,
"id": taking that out of this example,
"type": "Trouble Ticket",
"due_by": "2021-03-09T19:21:09Z",
"fr_due_by": "2022-02-25T19:21:09Z",
"is_escalated": false,
"custom_fields": {},
"created_at": "2021-03-02T19:21:09Z",
"updated_at": "2021-03-02T19:21:16Z",
"associated_tickets_count": null,
"tags": []
}
「ステータス」セクションのみが必要です。これを行うことで、たった1つのチケットでそれを行うことができます。
ticketresponse = requests.get(freshdeskticketsurl, auth = (freshdeskapi, freshdeskpassword))
ticket_json = ticketresponse.json()
ticket_str = json.dumps(ticket_json[0]['status'], indent=2)
print(ticket_str)
応答:
5
しかし、私が問題を抱えているのは、すべてのチケットのステータスを一度に印刷しようとしていることです。を使用して、すべてのチケットを一度に印刷できますticket_str = json.dumps(ticket_json, indent=2) print(ticket_str)
ただし、次のコード行のいずれかを試してすべてのステータスを取得しようとすると、同じエラーが発生します。
ticket_str = json.dumps(ticket_json['status'], indent=2)
応答 TypeError: list indices must be integers or slices, not str
ticketslice = slice(0,20) ticket_str = json.dumps(ticket_json[ticketslice]['status'], indent=2)
応答 TypeError: list indices must be integers or slices, not str
誰かが何かアイデアを持っているか、アイデアに対して異なるアプローチを持っている場合は、私に知らせてください。
お時間をいただきありがとうございます、
応答配列でループする必要があるすべてのステータスが必要な場合は、次のようになります。
for i in range(len(ticket_json)):
ticket_str = json.dumps(ticket_json[i], indent=2)
print(ticket_str['status'])
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加