构建服务器端应用程序-第2部分:在Zendesk应用程序中显示服务器端内容亚博
在本系列的前一篇教程中,您学习了服务器端Zendesk应用程序的核心概念。亚博在本教程中,您将构建一个小型web应用程序,在Zendesk应用程序中显示服务器端内容。亚博
本教程涵盖以下任务:
本教程是构建服务器端Zendesk应用系列的第二部分:亚博
- 第1部分:核心概念
- 第2部分:在Zendesk应用程序中显示服务器端内容- YOU ARE HERE亚博
- 第3部分:访问外部api
- 第4部分:访问框架api
- 第5部分:保护应用程序
- 第6部分:部署应用程序
您将使用名为Python微web框架构建web应用程序瓶.该框架有助于将技术细节降至最低,这样您就可以专注于逻辑,如果需要,可以将其应用到另一个框架中。
创建一个基本框架应用程序
即使在构建服务器端web应用程序时,你仍然需要创建一个基本的框架应用程序,其中包含所需的文件和文件夹。您可以使用ZCLI生成这些文件。
创建一个名为tutorial_apps.例子:
mkdir tutorial_apps
在shell中,导航到tutorial_apps文件夹中。例子:
cd tutorial_apps
在tutorial_apps文件夹,运行:
zcli应用:新
根据界面提示,输入如下信息:
- 目录名称:app_local
- 作者姓名:您的姓名
- 作者邮箱:您的邮箱地址
- 作者网站:留空并按Enter。
- 应用名称:服务器端应用教程
中创建应用程序启动器文件app_local文件夹中。
在app_local文件夹,打开manifest.json在文本编辑器中。在文件中,替换
ticket_sidebar
财产的url
值为:...
“位置”:{
“支持”:{
“ticket_sidebar”:{
“url”:“http://localhost: 8080 /侧边栏”,
“灵活”的:真正的
}
}
},
...
在部署web应用程序时,需要再次更改URL。
保存manifest.json
创建web应用程序
接下来,使用Python开发和测试web应用程序。
设置web应用程序
在shell中运行:
Pip3装瓶请求
在tutorial_apps文件夹,创建一个名为app_remote.例子:
cd tutorial_apps
mkdir app_remote
在app_remote文件夹,创建一个名为app.py.
开放app.py在文本编辑器中,将以下内容粘贴到文件中:
从瓶进口路线,运行
#应用程序代码到这里
运行(宿主=“localhost”,港口=8080)
第一行导入了Bottle
路线()
而且run ()
方法来创建到页面的路由并运行web应用程序。Bottle框架有一个内置的开发服务器,您可以使用它来测试更改。的
run ()
方法在端口8080上启动并运行web服务器。要了解关于框架的更多信息,请参见瓶子:Python Web框架在Bottle网站上。
Python陷阱
- 在Python中缩进很重要.在复制本教程中的示例时,请确保适当地缩进行。到目前为止,所有的行都与左边边距齐平。
- 缩进4个空格,而不是制表符.如果遇到制表符,Python将停止执行并报告缩进错误。
在Zendesk应用程序中显示服务器端内容亚博
要在Zendesk Support的iframe应用中显示服务器端内容,请在web应用中创建一个路由来处亚博理来自iframe的请求。为了刷新您的记忆,Zendesk Support亚博会对http://localhost:8080/sidebar
的URL指定manifest.json文件。
在app.py,替换
#应用程序代码到这里
按照以下路径进行评论:@route(“/栏”)
defsend_iframe_html():
返回'
应用程序内容从服务器
'的
send_iframe_html ()
函数返回HTML行,以响应对/侧边栏
路线。您可以使用Bottle中的内置开发服务器对其进行测试。在shell中,导航到app_remote文件夹中。
运行命令启动本地服务器。
python3 app.py
等待片刻,让服务器启动,然后打开
http://localhost:8080/sidebar
在浏览器中。显示如下HTML页面:
测试Zendesk应用程亚博序
您已经可以在Zendesk Support的代理工作区中测试应用亚博程序:
确保您的Bottle服务器仍在运行。亚博Zendesk Support将从它请求初始页面。
在另一个终端会话中,导航到app_local文件夹中。
运行以下命令启动本地ZCLI web服务器:
zcli应用:服务器
在浏览器的私有或隐身窗口中,登录到Zendesk Support并进入代理工作区。亚博从工作空间打开一个新的或现有的票据。
URL应该是这样的:
https://{子域名}.zendes亚博k.com/agent/tickets/ {ticket_id}
附加? zcli_apps = true到票据URL,并重新加载页面。URL应该是这样的:
https://{子域名}.zendes亚博k.com/agent/tickets/ {ticket_id} ? zcli_apps = true
点击Apps图标。
该应用程序显示了由Bottle web服务器提供的HTML。
这就是在Zendesk应用程序中显示服务器端内容的全部内容。剩下的就是构建web应用程序的细节,包括创建可以访问外部和亚博框架api的页面。
在本教程中,您构建并运行了一个web应用程序,该应用程序在Zendesk Support的iframe中显示内容。亚博在下一篇教程中,您将学习如何在Zendesk Support中请求和显示外部数据。亚博看到第3部分-访问外部api.