Serverless 云应用访问钉钉开放平台 | 学习笔记

简介: 简介:快速学习Serverless 云应用访问钉钉开放平台

开发者学堂课程【钉钉应用云开发实战营:Serverless 云应用访问钉钉开放平台】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/909/detail/14403


Serverless 云应用访问钉钉开放平台

目录

1.如何访问开放平台

2.如何调用服务端 API

3.服务端 SDK 下载


一. 如何访问开放平台

首先创建钉钉会议室预定。

image.png

强调组织必须选为演示团队。

image.png

点击会议室预定

image.png

image.png

然后进行配置

进入应用开发:

image.png一个云应用,部署在云端

钉钉开放平台处于钉钉开放主页状态。在自己的应用访问钉钉的开发平台。

这样网络应该相通。则部署在阿里云上的云应用。网络环境需要有出口网关。

钉钉开放平台本不属于公网状态。则需要有一个先前的条件。部署此应用需要访问公网的能力。访问公网的能力,目前的函数计算。会有一个孤网状态。去访问公网的能力。

例如服务型的应用。

image.png

通过 SAE 部署:

image.png运输于用户专属网内部专有网络,没有访问公网的能力。

如果访问自己的数据库,在 vpc 内部买的 RPS ,访问自己公网上的数据库。

Java 代码介绍

包括服务层,控制层等,

前端代码处。

这是一个编译出来的。它的原代码为 project

下载出来,修订前端代码

编译出来的代码

现在进行部署

操作进议:A 网关分组超过限额。

需安释故 api 分组出来。有3种解

方案:

1、您可以停止未使用的应用;

2、您可以移步

https: //rosnext.console.aliyun.com/cn-shanghai/stacks 把废弃的名称删除。

3、或者移步到

https://apigateway.consolewaliyun.com/#/ cn-shanghai/groups/listH除过期的 api 分组;

4、请确保平台吊顶选择了正确的组织!

切换团队进行:再次部署操作!

[2021-04-2819:54:28]应用:会议宝预定

TEST环境「基础服务准备任务]资源栈没有变化,无需重新部署

[2021-34-28 19:54:19]应用:会议室预定

[基础服务沮备任务] ROS 偏差检测完或!

[2821-84-2819:54:23]应用:会谈室预定

[基础服务准备任务]执行成功!

[2021-84-28 19:54:24]应用:会议室预定

开始执行[ API 网关编排任务]

[2221-04-28 19:54;24]应用:会议空预定

[ API 网关编排任务]开始 ROS 梓差检测..-

[2021-04-28 19:54;24]应用:会议室预定

[ API 网关编排任务】 Detect stack drift when it is in (CREATE。FATLED) is not supported .外部系统错误玛

:NotSupported 外部系统错误消息:Detect stack drift when it is in (CREATE,FAILED) is not supported.,将忽略该错误!

[2021-04-28 19:54:25]应用:会议室预定 

将删除资源栈: wbgw_2021042800885218 ..-

[2821-54-2819:54:29]应用:会议室预定

资源楼: wbgw_2心2164288680521E 剧除成功!

[2021-04-2819:54:33]应用:会议室预定旳开始执行[ VPC 网络煌排任务]

[2021-84-26 19:54:33]应用:会议室预定

[ API 网关编排任务1执行配功!

[2021-34-2日19:54:33]应用:会议室预定

初始化 APIGateway 或功。

二级域名为 http://843459c1e1d04c9785a5e239880a88ec-

cn-shanghai.alicloudapi.co

[2021-04-28 19:54:33]应用:会议室预定

开始执行[ VPC 网络编排任务]

再次进行覆盖!

[2021- 04-28 19:55:421 应用:会议室预定

城名:

https ://test1yj fbm809 17syo0o03h. workbenchapi.com绑定到 API 网关 =级域名

http://843459c1e1d04c9785a5e239880a88ec-cn-shanghai.alicloudapi.com 成功!

请使用

https://test 1yj fbm80917syqoo83h.workbenchapi.com 进行测试验证(还需要

进行 QNAME 解析, 且域名生效有延迟,如果无法访问请耐心等待)

[2021-04- -2日19:55:42] 应用:会议室预定

TEST 环境的域名 test1yj fbm8B0917syqo o03h . workbenchapl.com CNAME 到 API 网关的二级域名

843459c1e1d04c9785a 5e239880a8ec-cn-shanghai. alicloudapi.com 尚未生效, 请稍等片刻!当命令行工具 dig/ns lookup/ping 等指令发现正确的解析记录后, 即可直接通过

城名正常访问该应用了。

[2021-84-28 19:55:42] 应用: 会议室预定云开发应用[ TEST ]环境部属成功! 

继续观看页面:进行访问。

image.png

Api 需要加白名单,服务端公网在此配置。

函数计算没有固定 IP 地址,拥有访问公网能力。

image.png进入超级管理员:

image.png

进入——跳转页面——读取参数——授权——启动应用信息

response = client. execute( request, accesstoken)

accesstoken :具有时效性,防止他人任意窃取。通过调用钉钉公共 api 获取。 

//从持久化存储中读取

string accessToken = getF romCache ( admin ? "adminToken" :” access Token", "access_ token"):

if (accessToken != null) {

return ServiceResult ,

success( accessToken);

DefaultDingTalkClient cllent = new Def aultDingTalkClient (admin ? UrlConstant.URl ADMIN GET TOKEN : URL GET TOKEN):

if (adnin) (

apissoGettokenRequest request = new 0apiSsoGet tokenRequest();

//企业Id

request . setCorpid(appConfig. getCorpId());

//秘钢ssosecret

//这里必须填写专属的SS0sec ret.

request. setCorpsecret (appConfig. getSsoSeret());

request. sethttpMethod("GET");

0apiSsoGettokenResponse response = null:

try {

response = client . execute( request);

}  catch (AplException e) {

Log . error("getAccessToken failed", e);

return ServiceResult. failure(e . getErrCode(), e. getErrMsg()

每种方法请求参数是不一样的。

通过授权码换取用户基本信息。可以知道用户身份。应用随而建立登陆台。根据用户操作进行保存。


二.如何调用服务端 API

首先开发部署,新建应用配置。如下图:

开始部署..- 

发送部吾任务完成...

[2021-04-28 19:48:;23]应用:会议室预定―云应用[ TEST ]环境开始部署

[2021-04-28 19:48:30]应用:会议预室定您可以在 Flow 查看详细日志 

https://flow.aliyun . com/pipelines/1312632/current?channel=wo rkbench

[2021-34-2B 19:48:23]应用:会议室预定   开始执行[项目构建任务]

[2021-04-2B 19:48:34]应用:会议室预定   java镜像构建-申请运行环境(日5}执行成功

[2021-04-2B 19:48:38]应用:会议室预定   java镜像构建-克隆代码(2s)执行成功

[2021-04-2B 19:48:38]应用:会议室预定   java镜像构建-清理工作区[2s)执行成功

……… 

可能出现以下问题:

操作运议: API 网关分组超过限额,需宝释故 api 分组出来。有3种解决方案:

1、您可以停止未选用的应用;

2.您可以移步

https: / /rosnext.console. aliyun.com/cn-shanghai/stacks 把废弃的名称形如 wbd *******************的资源线删除;

3. 或者移步到

https://apigateway.con5ole,aliyun.com/#/ cn-shanghai/groups/list删除过期的 api 分组;

4、请确保平台吊顶选择了正确的组织!


三.如何调用服务端 API

请求方式:接口使用的 HTTP 方法和请求协议。所有接口都使用HTTPS协议。

请求地址∶接口的请求地址。钉钉服务端接口的访问域名为―https: /oapi.dingtalk.com。请求参数使用"&"分隔。请求地址中的大写单词是需要替换的变量值。

请求包体/参数说明︰提供请求参数示例及说明,参数说明包括字段含义、取值范围,开发者在设计数据结构时,应参考该定义范围。返回结果/参数说明:提供返回参数示例及说明。

注意:

所有接口在调用失败时都会返回 errcode 和 errmsg 。开发奢可根据 errcode 和 errmsg 排查问题。

请不要仅根据 errmsg 判断调用是否成功。当请求返回结果中返回了 errcode 且不为0时可判断为请求失败。errmsg 是对 errcode 的说明,供开发者参考排查问题。

我们对接口的返回字段做了简化处理,如果字段的值为空或者 null,将不返回该字段。

接口调用流程

如下图所示,在调用钉钉服务媚接口前,您需要完成以下准备工作:

1.添加接口调用权限。应用创建后默认只开放登录和消息通知接口的调用权限,您需要根据开发需要,添加对应的接口使用权限。详细

信息请参考添加接口调用权限。

2.获取应用的 access_foken 。access_token 相当于是身份凭证。调用接口时,通过 access_token 来鉴权调用者身份。

企业内部应用请参考获取 access_token

第三方企业应用请参考获取第三方应用凭证

image.png

调用方式

钉钉开放平台提供了 API Explorer 和 SDK 方便开发者调用服务端APl。

●API Explorer: .

API Explorer是可视化在线 API 调用工具,可实时查看 API 请求和返回结果

访问地址: https://open-dev.dingtalk .com/apiExploer#/?

devType=org&a pi= dingtalkoapigettoken.

●SDK:

钉钉开放平台提供了 Java. PHP. Python、 .NET SDK 供开发者使用。单击服务端SDK下载。


四.服务端 SDK 下载

SDK 请求示例

”下面是使用 SDK 调用 API 的请求示例:

●Java

DingTalkClient client = new DefaultDingTalkclient( "https://oapi. dingtalk. com/usex/get");

oapiUserGetRequegt req = new oaplUserGetRequest( ) ;

req. setUserid("userid1");

点击纠错

req. setHttpMethod( "GET");

oapluserGetResponse rsp = client .execute (reg,accessToken) ;

●PHP

include "TopSdk . php" ;

// DingTalkConstant: :$METHOD_ GET 要与下面调用接口ur1要求的保持一致

$c - new DingTalkClient (DingTa lkConstant : :$CALL_ TYPE_ OAPI, DingTalkConstant : : SMETHOD_ GET.

DingTalkConstant : :$F0RMAT_ JSON);

$req = new oapiUserGetRequest( );

$req- >setUserid ("userid1" );

$resp=$c->execute($req,$accesToken, " https:/ /oapi .dingtalk . com/user/get" );

var_ _dump (Sresp)

●Python .

import dingtalk .api

request = dingtalk. api. OapiGettokenRequest( "https://oapi.dingtalk .com/user/get")

request. userid- "userid1"

sresp- se->exeeute($req, saeeessToken, https:/ /oapi .dingtalk. con/user/get" );

var_ dimp($resp)

”Fythgr!

import dingtalk .api

点击纠错

request = dingtalk. api .

oapiGettokenRequest[ "httpst//oapi.dingtalk。com/umer/geL"I

request. userid= "user⊥d1,

response = requeat.getkesponse()

irint (respons6) 

●.NET

IDingTalkclient client = new Defaul tDingTalkc1 ient ( "https; //oapi .cdingtalk . com/user/get");

oapiuserGetRequeat req = nev oapiUaerGetRequest( );

reg.userid - "ueeridI";

Teq. SetattpMethod("GET");

oapiUaerGetReaponse rsp = client. Execute(reqr acceseToken)

请求示例说明:

1.定义 Client 对象,设置接口地址 UR 。一般情况, 无需拼接 URL 后面的参数,比如 access token ; 需要注意部分Post 接口,需要在 URi 后拼接除 acce5s_ 51oken 外的个别参数。

2:构造 Request 对象,接口对应的 requestx 对象,一般 规则是 Oapi+接口 Path 驼峰形式+Request ,如/user/get接口,请求对象是 QanillcorGerPecuact 。

3、调用 Request 的方法设置参数,注意参数 HttpMethod ,默认是 POST . 如果是 GET 类型接口,需要这样设置requests etHttpMethod!"GET").

4.调用 clienL.execute 执行,其中 asess stoken 同样可以使用 SOK 获取到。同时,/gettoken, /sns/gettoken, iservice/get suite. token 筹狱取 token 的接口在调用execute时。元需再传 token 参数。

5.执行后得到 Response 对象,是与 Request 对应的,然后可获取执行结果。

SDK 下载

环境依赖

●Java SDK 需要依赖 Java SE/EE 1.5及以上

●.NET SDK 需要依赖. NET Framework 2.0及以上(不支持 Windows Phone 平台)

下载地址:

●Java 版本:点击下载

●PHP 版本:点击下载

●Python 版本:点击下载

●Python3 版本: 点击下载

●.NET 版本:点击下载

●.NETCore版本: 点击下载

文档格式约定

每个接口文档会按照如下格式提供信息: .

请求方式: GET/POST (HTTPS}

请求地址:

https t//oapi . dingtalk . com/ gettoken?appkey-APP KEY6appsecret-APP SECRET

请求包体:

参数说明:

返回结果:

示例

●请求方式:接口使用的 HTTP 方法和请求协议。所有接口都使用 HTTPS 协议。

●请求地址:接口的请求地址。钉钉服务端接口的访问域名为 https ://0api . dingtalk.com 。请求参数使用“&”分隔。请求地址中的大写单词是需要替换的变量值。

●请求包体/参数说明:提供请求参数示例及说明,参数说明包括字段含义、取值范围,开发者在设计数据结构时,应参考该定义范围。

●返回结果/参数说明:提供返回参数示例及说明。

相关文章
|
3月前
|
人工智能 运维 Kubernetes
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、稳定与低成本,成了所有技术团队的共同挑战。阿里云 Serverless 应用引擎(SAE)正是为应对这一时代挑战而生的破局者,SAE 以“免运维、强稳定、极致降本”为核心,通过一站式的应用级托管能力,同时支撑传统应用与 AI 应用,让企业把更多精力投入到业务创新。
567 30
|
4月前
|
存储 人工智能 Serverless
函数计算进化之路:AI 应用运行时的状态剖析
AI应用正从“请求-响应”迈向“对话式智能体”,推动Serverless架构向“会话原生”演进。阿里云函数计算引领云上 AI 应用 Serverless 运行时技术创新,实现性能、隔离与成本平衡,开启Serverless AI新范式。
562 15
|
9月前
|
SQL 分布式计算 Serverless
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
鹰角网络为应对游戏业务高频活动带来的数据潮汐、资源弹性及稳定性需求,采用阿里云 EMR Serverless Spark 替代原有架构。迁移后实现研发效率提升,支持业务快速发展、计算效率提升,增强SLA保障,稳定性提升,降低运维成本,并支撑全球化数据架构部署。
1060 56
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
|
9月前
|
人工智能 开发框架 安全
Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速
作为云上托管 MCP 服务的最佳运行时,函数计算 FC 为阿里云百炼 MCP 提供弹性调用能力,用户只需提交 npx 命令即可“零改造”将开源 MCP Server 部署到云上,函数计算 FC 会准备好计算资源,并以弹性、可靠的方式运行 MCP 服务,按实际调用时长和次数计费,欢迎你在阿里云百炼和函数计算 FC 上体验 MCP 服务。
807 30
|
7月前
|
存储 编解码 Serverless
Serverless架构下的OSS应用:函数计算FC自动处理图片/视频转码(演示水印添加+缩略图生成流水线)
本文介绍基于阿里云函数计算(FC)和对象存储(OSS)构建Serverless媒体处理流水线,解决传统方案资源利用率低、运维复杂、成本高等问题。通过事件驱动机制实现图片水印添加、多规格缩略图生成及视频转码优化,支持毫秒级弹性伸缩与精确计费,提升处理效率并降低成本,适用于高并发媒体处理场景。
411 0
|
4月前
|
人工智能 运维 安全
聚焦 AI 应用基础设施,云栖大会 Serverless AI 全回顾
2025 年 9 月 26 日,为期三天的云栖大会在杭州云栖小镇圆满闭幕。随着大模型技术的飞速发展,我们正从云原生时代迈向一个全新的 AI 原生应用时代。为了解决企业在 AI 应用落地中面临的高成本、高复杂度和高风险等核心挑战,阿里云基于函数计算 FC 发布一系列重磅服务。本文将对云栖大会期间 Serverless+AI 基础设施相关内容进行全面总结。
|
4月前
|
人工智能 Kubernetes 安全
重塑云上 AI 应用“运行时”,函数计算进化之路
回顾历史,电网的修建,深刻地改变了世界的经济地理和创新格局。今天,一个 AI 原生的云端运行时的进化,其意义也远不止于技术本身。这是一次设计哲学的升华:从“让应用适应平台”到“让平台主动理解和适应智能应用”的转变。当一个强大、易用、经济且安全的 AI 运行时成为像水电一样的基础设施时,它将极大地降低创新的门槛。一个独立的开发者、一个小型创业团队,将有能力去创造和部署世界级的 AI 应用。这才是技术平权的真谛,是激发全社会创新潜能的关键。
|
人工智能 运维 物联网
云大使 X 函数计算 FC 专属活动上线!享返佣,一键打造 AI 应用
如今,AI 技术已经成为推动业务创新和增长的重要力量。但对于许多企业和开发者来说,如何高效、便捷地部署和管理 AI 应用仍然是一个挑战。阿里云函数计算 FC 以其免运维的特点,大大降低了 AI 应用部署的复杂性。用户无需担心底层资源的管理和运维问题,可以专注于应用的创新和开发,并且用户可以通过一键部署功能,迅速将 AI 大模型部署到云端,实现快速上线和迭代。函数计算目前推出了多种规格的云资源优惠套餐,用户可以根据实际需求灵活选择。
|
9月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
518 12
|
9月前
|
人工智能 开发框架 运维
Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速
Serverless MCP 运行时业界首发,函数计算支持阿里云百炼 MCP 服务!阿里云百炼发布业界首个全生命周期 MCP 服务,无需用户管理资源、开发部署、工程运维等工作,5 分钟即可快速搭建一个连接 MCP 服务的 Agent(智能体)。作为云上托管 MCP 服务的最佳运行时,函数计算 FC 为阿里云百炼 MCP 提供弹性调用能力。
 Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速

相关产品

  • 函数计算