我正试图通过创建一个Zoho办公桌分机来将我的应用程序与Zoho办公桌集成起来。
我希望扩展生成的所有调用也发送一个API密钥,这样我就可以在服务器上验证它,以确保是Zoho在进行调用。
我的理解是,我可以在Zoho中设置一个自定义的“连接”,它将在扩展程序的任何调用的头中包含一个自定义API键。
问题是,扩展进行的调用中没有一个在头中包含自定义API键。
--这就是我如何为扩展创建连接:
plugin-manifest.json文件的plugin-manifest.json数组中。zet pack打包扩展,然后上传到Zoho。在这个过程结束时,我假设发送到扩展resources.json中定义的同步推拉端点的所有调用都会在头中包含api键。但是它们没有,甚至没有一个用于这些调用的api头字段。
我使用hookbin.com对其进行了测试,您可以看到这些调用的详细信息,以及我认为应该包含的api头字段:https://hookbin.com/6JqjpyMNyzToO0ro3nGQ。
我做错了什么?
这里是扩展名为:resources.json的文件:
{
"channel": {
"resourceName" : "webApp",
"channelLogoPath" : "/app/img/logo.png",
"acceptAttachments" : false,
"updateRecords" : true,
"contentTypes" : ["text/plain","text/html"],
"redirectUrl" : "https://hookb.in/6JqjpyMNyzToO0ro3nGQ",
"includeQuotedMessage": false,
"sync": {
"push": "https://hookb.in/6JqjpyMNyzToO0ro3nGQ",
"pull": "https://hookb.in/6JqjpyMNyzToO0ro3nGQ"
}
}
}这里是扩展名为:plugin-manifest.json的文件:
{
"locale": [
"en"
],
"service": "DESK",
"storage": false,
"type": "personal",
"whiteListedDomains": [https://hookb.in"],
"modules": {
"widgets": [
{
"location": "desk.ticket.detail.rightpanel",
"url": "/app/widget.html",
"name": "Agent Cake Extension",
"logo": "/app/img/logo.png",
"icon": "/app/img/icon.png"
}
]
},
"cspDomains": {
"connect-src": []
},
"zohoAuthorisation": {},
"callbackListener": {
"onInstall": "https://hookb.in/6JqjpyMNyzToO0ro3nGQ",
"onUpdate": "https://hookb.in/6JqjpyMNyzToO0ro3nGQ"
},
"connectors": [{
"connectionLinkName": "myapp",
"connectionName": "MyApp",
"serviceName": "myapp",
"userAccess": true,
"isUserDefinedService": true,
"sharedBy": "7002150130"
}],
"config": [],
"moduleSupport": false,
"secret": "somerandomstringhere"
}发布于 2022-07-02 22:02:43
我从Zoho的支持者那里得到了关于这件事的回答:
请注意,对于自定义连接,API键是由sigma内部处理的,不会在标头中传递。如果您想要API密钥,则必须手动将API键作为配置参数传递。一旦通过,就可以使用resources.json中的以下代码获取API密钥。
"push": "https://hookb.in/6JqjpyMNyzToO0ro3nGQ?apikey={{apikey}}"
因此,基本上,Sigma中的连接器不起作用,您必须添加api键作为查询参数。然后您可以在服务器上验证这一点。
resources.json截图

https://stackoverflow.com/questions/72769227
复制相似问题