我想使用他们的REST (https://www.zoho.com/creator/help/api/rest-api/rest-api-add-records.html)从Zoho访问一个数据库,我读到我不能从客户端访问这个数据库(因为CORS没有实现或者其他类似的东西),而且我必须在服务器上这样做。
因此,我使用django设置了一个本地服务器,并从终端运行了一个脚本,该脚本应该向zoho数据库添加一条记录,但是它不能工作.
我不确定脚本是错误的还是我使用服务器的方式是错误的。
服务器由django运行,我使用命令“django-”创建了一个简单的服务器,并使用"python“运行服务器。
应用程序的名称是“同义词-数据库”,表单是"Main_Form“,其中唯一的字段是" name”。有了这些信息,我遵循了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>如果不使用json=payload,而是使用data=payload,则响应更改为:
{"code":2945,"message":"INVALID_TICKET"}发布于 2018-04-11 09:24:09
API需要表单编码的数据,所以您应该使用data=payload而不是json=payload。URL中的json是响应格式的格式,而不是请求的格式。
您可以通过重新生成令牌来解决INVALID_TICKET错误。有一个关于这个职位的评论,它通过将URL从.eu更改为.com来解决错误。确保在与请求URL匹配的URL上生成auth令牌。
https://stackoverflow.com/questions/49770636
复制相似问题