帮助, 我使用zendesk api v2 python来静态zendesk票并与zendesk自定义报告进行比较但是有不同的结果。
自定义于2017年12月14日开始于2017年12月15日结束,但有两个不同的结果:自定义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)
答案 0 :(得分:0)
我猜你的查询中的问题是:
created%3E2017-12-14T00:00:00Z%20created%3C2017-12-15T00:00:00Z
您似乎在12月14日午夜到12月15日午夜查询,因此结果集应该只返回12月14日的门票。
我查看了Zendesk API Search documentation,我会说它应该足以编码:
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 examples和此pagination 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)