【发布时间】:2018-09-21 01:50:51
【问题描述】:
我想使用 Zoho Creator 的 REST API (https://www.zoho.com/creator/help/api/rest-api/rest-api-add-records.html) 从 Zoho Creator 访问数据库它来自服务器。
所以我使用 django 设置了一个本地服务器,并从终端运行了一个脚本,该脚本应该向我的 zoho 数据库添加一条记录,但它不起作用......
我不确定脚本是否错误,或者我使用服务器的方式是否错误。
服务器由django运行,我用命令“django-admin startproject mysite”做了一个简单的服务器,用“python manage.py runserver”运行服务器。
应用程序的名称是“synonyms-database”,表单是“Main_Form”,唯一的字段称为“名称”。所以有了这些信息,我遵循了 API 说明,这是我的脚本:
import requests
payload = {'authtoken': myAPIToken, 'scope': 'creatorapi', 'name': 'test'}
response = requests.request('POST',
'https://creator.zoho.com/api/erik341/json/synonyms-
database/form/Main_Form/record/add/', json=payload)
print(response.headers)
print(response.text)
print(response.url)
我得到了这样的回应:
<body>
<div>
An error has occurred. It has been reported to Zoho Creator
support. We will look into this issue .<br> Sorry for the
inconvenience caused.
<p><p>
Go to <a href='%2F'>Home</a>
</div>
</body>
如果我使用 data=payload 而不是 json=payload,则响应更改为:
{"code":2945,"message":"INVALID_TICKET"}
【问题讨论】:
-
您收到的状态码是什么?
-
示例请求显示了一个 HTML 表单,因此看起来数据应该是表单编码的。这意味着您应该使用
data=payload而不是json=payload。如果您搜索“INVALID_TICKET”,似乎有很多结果 - one suggestion 我看到的是尝试重新生成令牌。 -
好吧,我觉得自己真的很愚蠢...由于某种原因,当我找到您发送给我的链接时,我只是阅读了重新创建令牌的部分,这没有用...但我现在更改了 url到 .eu 而不是 .com 并且新消息是关于未设置字段“名称”的值的错误,我通过将“名称”更改为“名称”来解决该问题。非常感谢!
-
似乎有很多关于
INVALID_TOKEN的页面 - 很高兴您找到了有效的答案!