1

助けてください、私はzendesk api v2 pythonを静的なzendeskチケットに使用し、zendeskカスタムレポートと比較しましたが、異なる結果が得られました.

カスタムは 2017 年 12 月 14 日に開始し、2017 年 12 月 15 日に終了しますが、2 つの異なる結果が得られます。

カスタム 161 新しいチケットですが、API コードは 84 チケットのみを返します。他のカスタム レポートを試してみたところ、同様の問題が発生しました

私のケースの何が問題なのですか? 手伝ってくれてありがとう

r = requests.get('https://mydomain.zendesk.com/api/v2/search.json?query=type:ticket%20created%3E2017-12-14T00:00:00Z%20created%3C2017-12-15T00:00:00Z&page=1&sort_by=created_at&sort_order=desc',auth=('myauth', 'mypass'))
print json.dumps(r.json(), sort_keys=True, indent=10)
4

1 に答える 1

0

あなたのクエリの問題は次のとおりだと思います。

created%3E2017-12-14T00:00:00Z%20created%3C2017-12-15T00:00:00Z

12 月 14 日の午前 0 時から 12 月 15 日の午前 0 時までクエリを実行しているようですので、結果セットは 12 月 14 日のチケットのみを返すはずです。

Zendesk API Search のドキュメントを見たところ、次のようにエンコードするだけで十分だと思います。

created>2017-12-14T00:00:00Z created<2017-12-16T00:00:00Z

代わりは:

created%3E2017-12-14T00:00:00Z%20created%3C2017-12-16T00:00:00Z

いくつかの特定のpython の例と、このページネーション docを見つけることができます。コードは次のようになります。

from urllib.parse import urlencode
import requests

results = [] # Empty list store paginated results    
credentials = 'your_zendesk_email', 'your_zendesk_password'
session = requests.Session()
session.auth = credentials

params = {
    'query': 'type:ticket created>2017-12-14T00:00:00Z created<2017-12-16T00:00:00Z',
    'sort_by': 'created_at',
    'sort_order': 'desc'
}

url = 'https://your_subdomain.zendesk.com/api/v2/search.json?' + urlencode(params)

while url:
    response = session.get(url)
    data = response.json()
    results += data['results']
    url = data['next_page'] # At the last page, the API should return false

print json.dumps(results.json(), sort_keys=True, indent=10)
于 2018-03-27T19:23:17.630 に答える