最近の検索
最近の検索はありません

Ruth Kusterer
参加日2023年4月12日
·
前回のアクティビティ2023年4月12日
フォロー中
0
フォロワー
0
合計アクティビティ
2
投票
0
サブスクリプション
1
アクティビティの概要
バッジ
記事
投稿
コミュニティへのコメント
記事へのコメント
アクティビティの概要
さんの最近のアクティビティ Ruth Kusterer
Ruth Kustererさんがコメントを作成しました:
コミュニティのコメント Q&A - Help center and community
This script loops over Zendesk Guide articles and prints article ID and its attachment names. If you want it to do something smarter than print, then look up other options here: Article Attachments API. Hope it works for you.
## Loop over list of Zendesk Guide articles and then loop over their attachments
import os
import requests
## Zendesk API endpoint connection
credentials = 'YOURUSERNAME', 'YOURPW' # delete pw afterwards
zendesk_baseurl = 'https://blazemeterhelp.zendesk.com'
language = 'en-US' # "en-US" in our case
out_file='attachment_log.txt'
print("I will list all attachments in this output file: "+out_file)
## Use credentials to access Zendesk Articles endpoint.
endpoint = zendesk_baseurl + '/api/v2/help_center/{locale}/articles.json'.format(locale=language.lower())
print("Connecting to "+endpoint)
while endpoint:
response = requests.get(endpoint, auth=credentials)
if response.status_code != 200:
print('Failed to retrieve articles with error {}'.format(response.status_code))
exit()
## response contains articles and info about pagination, loop over it:
article_data = response.json()
## For each article...
for article in article_data['articles']:
articleID=article['id']
## Skip empty files and ...
if article['body'] is None:
continue
##... print article ID and ...
print('Found article with ID {id}.'.format(id=articleID))
## ... loop over attachments and ...
attachment_request=zendesk_baseurl + '/api/v2/help_center/articles/{article_id}/attachments.json'.format(article_id=articleID)
attachment_response = requests.get(attachment_request, auth=credentials)
if attachment_response.status_code != 200:
print('Failed to check article for attachments with error {}'.format(attachment_response.status_code))
exit()
attachment_data = attachment_response.json()
for att in attachment_data['article_attachments']:
## ... print all its attachment names
print(" "+str(att['file_name']))
## Also keep a log of all IDs and attachment names in a file
with open(os.path.join(out_file), mode='a', encoding='utf-8') as f:
f.write(str(articleID)+"\t "+str(att['file_name']))
f.write("\n")
## Next loop
## Toggle these two to do either a short debug run or loop over all articles:
#endpoint = [] # EITHER loop over only 30 articles
endpoint = article_data['next_page'] # OR loop over all articles
コメントを表示 · 投稿日時:2023年4月12日 · Ruth Kusterer
0
フォロワー
0
投票
0
コメント