鸿蒙自动化发布测试版本app

 创建API客户端

API客户端是AppGallery Connect用于管理用户访问AppGallery Connect API的身份凭据,您可以给不同角色创建不同的API客户端,使不同角色可以访问对应权限的AppGallery Connect API。在访问某个API前,必须创建有权访问该API的API客户端。

1.登录AppGallery Connect网站,选择“用户与访问”。选择左侧导航栏的“API密钥 > Connect API”,点击“创建”。

2.在“名称”列输入自定义的客户端名称,“项目”保持默认值“N/A”,选择对应的“角色”,点击“确认”。

  • “项目”请务必保持为N/A,表示创建的客户端为团队级的API客户端。如果不为N/A,将会导致调用API时返回403错误。

3. 客户端创建成功后在客户端信息列表中记录“客户端ID”和“密钥”的值。

创建API客户端后,您下一步需要根据客户端ID和密钥获取访问API的Token。

2.获取访问API的Token

1.创建完API客户端后需要到华为AppGallery Connect平台进行鉴权,鉴权通过后将获得用于访问AppGallery Connect API的Access Token。用户凭借该Access Token即可访问AppGallery Connect API。
2.您需要在您的应用程序中编写一段调用获取Token接口的代码来获取Access Token
public static String getToken(String domain, String clientId, String clientSecret) {String token = null;try {HttpPost post = new HttpPost(domain + "/oauth2/v1/token");JSONObject keyString = new JSONObject();keyString.put("client_id", "18893***83957248");keyString.put("client_secret", "B15B497B44E080EBE2C4DE4E74930***52409516B2A1A5C8F0FCD2C579A8EB14");keyString.put("grant_type", "client_credentials");StringEntity entity = new StringEntity(keyString.toString(), Charset.forName("UTF-8"));entity.setContentEncoding("UTF-8");entity.setContentType("application/json");post.setEntity(entity);CloseableHttpClient httpClient = HttpClients.createDefault();HttpResponse response = httpClient.execute(post);int statusCode = response.getStatusLine().getStatusCode();if (statusCode == HttpStatus.SC_OK) {BufferedReader br =new BufferedReader(new InputStreamReader(response.getEntity().getContent(), Consts.UTF_8));String result = br.readLine();JSONObject object = JSON.parseObject(result);token = object.getString("access_token");}post.releaseConnection();httpClient.close();} catch (Exception e) {}return token;
}

获取Access Token后,您在访问AppGallery Connect API接口时可携带该Access Token进行身份验证。该Access Token的有效期由返回参数expires_in指定,如果Access Token失效,则需要重新调用获取Token接口获取。

3.访问API

1.新建测试版本

文档中心

 3.获取文件上传地址

文档中心

4.上传文件

文档中心

5.添加软件包

文档中心

6.更新测试版本

文档中心

7.提交测试版本

文档中心

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/418822.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE5.3_跟一个插件—Socket.IO Client

网上看到这个插件,挺好! 项目目前也没有忙到不可开交,索性跟着测一下吧: 商城可见,售价72.61人民币! 但是,git上有仓库哦,免费!! 跟着链接先准备起来: Documentation: GitHub - getnamo/SocketIOClient-Unreal: Socket.IO client plugin for the Unreal Engin…

数据仓库理论知识

1、数据仓库的概念 数据仓库(英文:Date Warehouse,简称数仓、DW),是一个用于数据存储、分析、报告的数据系统。数据仓库的建设目的是面向分析的集成化数据环境,其数据来源于不同的外部系统&#…

【H2O2|全栈】Markdown | Md 笔记到底如何使用?【前端 · HTML前置知识】

Markdown的一些杂谈 目录 Markdown的一些杂谈 前言 准备工作 认识.Md文件 为什么使用Md? 怎么使用Md? ​编辑 怎么看别人给我的Md文件? Md文件命令 切换模式 粗体、倾斜、下划线、删除线和荧光标记 分级标题 水平线 引用 无序…

缓存类型以及读写策略

缓存(Cache)是一种高效的数据存储技术,旨在提高数据访问速度。 它将频繁访问或最近使用的数据临时存储在更快速但较小的存储介质(如内存)中,以减少从较慢的存储设备(如硬盘或远程服务器&#x…

4G模块、WIFI模块、NBIOT模块通过AT指令连接华为云物联网服务器(MQTT协议)

MQTT协议概述 MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,它被设计用来提供一对多的消息分发和应用之间的通讯,尤其适用于远程位置的设备和高延迟或低带宽的网络。MQTT协议基于客户端-服务器架构&…

iOS——方法交换Method Swizzing

什么是方法交换 Method Swizzing是发生在运行时的,主要用于在运行时将两个Method进行交换,我们可以将Method Swizzling代码写到任何地方,但是只有在这段Method Swilzzling代码执行完毕之后互换才起作用。 利用Objective-C Runtimee的动态绑定…

网络编程学习:TCP/IP协议

TCP/IP协议简介 TCP/IP协议包含了一系列的协议,也叫TCP/IP协议族(TCP/IP Protocol Suite,或TCP/IP Protocols),简称TCP/IP。 分层结构 为了能够实现不同类型的计算机和不同类型的操作系统之间进行通信,引…

Zookeeper基本原理

1.什么是Zookeeper? Zookeeper是一个开源的分布式协调服务器框架,由Apache软件基金会开发,专为分布式系统设计。它主要用于在分布式环境中管理和协调多个节点之间的配置信息、状态数据和元数据。 Zookeeper采用了观察者模式的设计理念,其核心…

在vscode中用virtual env的方法

vscode是非常常用的软件开发工具。我们也非常了解如何使用vscode开发python的基本方法。当然,vscode可以开发基本所有编程语言。真的是又大又全又好用。 那么为什么要在vscode里面使用virtual env呢?因为python开发会遇到包管理的问题。而virtual env可…

Flutter 小技巧之 Row/Column 即将支持 Flex.spacing

事实上这是一个相当久远的话题,如果对于前因后果不管兴趣,直接看最后就行。 这个需求最早提及应该是 2018 年初在 #16957 被人提起,因为在 Flutter 上 Wrap 有 runSpacing 和 spacing 用于配置垂直和水平间距,而为什么 Colum 和 …

C++ | Leetcode C++题解之第392题判断子序列

题目&#xff1a; 题解&#xff1a; class Solution { public:bool isSubsequence(string s, string t) {int n s.size(), m t.size();vector<vector<int> > f(m 1, vector<int>(26, 0));for (int i 0; i < 26; i) {f[m][i] m;}for (int i m - 1; …

C语言第一周课

目录 1.程序设计的基本概念是什么?C语言是什么?算法是什么? 2.开发环境 3.第一个C语言程序 4.搭建VC6编译环境 5.实际操作,完成第一个C语言程序 6.体验在线编译环境 1.程序设计的基本概念是什么?C语言是什么?算法是什么? C语言是一种较早的程序设计语言&#xff0c…

Linux第十一节课 - 进程

一个程序从磁盘以文件的形式加载到内存之后&#xff0c;已经变成了进程&#xff01; 引入管理者和被管理者 1、管理者和被管理者不需要见面&#xff01;&#xff08;例如学生和校长&#xff01;&#xff09; 2、管理者在不见被管理者的情况下&#xff0c;如何做好管理呢&…

Windows下Python和PyCharm的应用(二)__快捷键方式的设定

前言 程序写久了&#xff0c;难免会形成自己的编程习惯。比如对某一套快捷键的使用&#xff0c;已经形成了肌肉记忆。 为了方便快捷键的使用&#xff0c;可以在PyCharm中设置自己喜欢的快捷键。 我比较习惯于微软Visual Studio的快捷键设置。&#xff08;因为早些年VC开发用的…

计算机网络与Internet应用

一、计算机网络 1.计算机网络的定义 网络定义&#xff1a;计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备&#xff0c;通过通信线路连接起来&#xff0c;在网络操作系统&#xff0c;网络管理软件及网络通信协议的管理和协调下&#xff0c;实现资源共享…

数据仓库技术选型方案文档

关联博客&#xff1a; 数据仓库技术选型方案文档 Flink CDC MySQL数据同步到Doris表同步配置生成工具类 新版报表系统&#xff08;明细报表、看板、数据大屏&#xff09;方案&介绍 文章目录 数据仓库技术选型背景现状现状架构目标架构业务反馈&痛点问题&#xff1a;原因…

QT定时器QObiect/QTimer

QT定时器 一、QObiect: startTimer ----------- killTimer 电子相册&#xff0c;利用定时器轮播图片 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);picID …

【C++11】类的新功能

【C11】类的新功能 文章目录 【C11】类的新功能一、移动构造和移动赋值的特点二、类成员变量初始化三、强制生成默认函数的关键字default四、禁止生成默认函数的关键字delete五、继承和多态中的fifinal与override关键字 一、移动构造和移动赋值的特点 ​ 默认成员函数&#xf…

对一个已经运行的LabVIEW VI进行控制

要对一个已经运行的LabVIEW VI进行控制&#xff0c;可以采用多种方法&#xff0c;这取决于你想要控制的内容以及具体的应用场景。以下是几种常见的实现方式&#xff1a; 1. 使用全局变量或功能全局变量&#xff08;FGV&#xff09; 方法: 你可以创建全局变量或功能全局变量&am…

枚举和联合体

1.枚举类型 1枚举类型的声明 枚举顾名思义就是一一列举。 把可能的取值一一列举。 比如我们现实生活中&#xff1a; 一周的星期一到星期日是有限的7天&#xff0c;可以一一列举 性别有&#xff1a;男、女、保密&#xff0c;也可以一一列举 月份有12个月&#xff0c;也可以一一…