Code Monkey home page Code Monkey logo

upload-app-api-example's Introduction

蒲公英 API 上传 App 代码示例

语言

说明

蒲公英 App 内测分发平台 是一个为 App 安装包提供内测托管、下载分发的平台,支持 iOS App 安装包(.ipa文件) 和 Andoid App 安装包(.apk文件)。

本项目演示了如何将 iOS 或 Android 安装包文件通过蒲公英 API 上传到蒲公英平台,并获取上传结果。

目前,我们已经支持了 Java, Node.js, PHP, Python, Shell 代码,也欢迎开发者贡献其他语言的代码。

注意:本项目采用蒲公英新版上传 API,蒲公英旧版API(如 v1、v2)中的上传接口已经废弃

用法

具体可见项目中各个语言对应的文件夹中的示例代码:

资源

链接

upload-app-api-example's People

Contributors

0x4c5 avatar cubicwork avatar linxunfeng avatar shishirui avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

upload-app-api-example's Issues

-d 上传更新 说明 不成功 是什么原因

G:\JenkinsWorkSpace\workspace>G:\Git\bin\bash.exe G:\JenkinsWorkSpace\pgyer_upload.sh -k f6c6b80f09ab397accd793dc22275549 -d 测试更新 G:\JenkinsWorkSpace\workspace\merchant_job\merchant_android\app\build\outputs\apk\dev\merchant-dev-v1.5.4.apk
[2023-05-11 21:01:51] -------------------------------- 获取凭证 --------------------------------
[2023-05-11 21:01:51] curl -s --form-string '_api_key=f6c6b80f09ab397accd793dc22275549' --form-string 'buildType=apk' --form-string 'buildUpdateDescription=测试更新' http://www.pgyer.com/apiv2/app/getCOSToken
[2023-05-11 21:01:52] -------------------------------- 上传文件 --------------------------------
[2023-05-11 21:01:52] curl --progress-bar -o /dev/null -w '%{http_code}' --form-string 'key=9c886c2365c8fd1ac11de215a8170ca3.apk' --form-string 'signature=q-sign-algorithm=sha1&q-ak=AKIDac88HFkb4H7kLv4RD6G-rp8sg8t-4D9zR8yMi7qFamn0QRn0UM3Riy_rrOM4TQPH&q-sign-time=1683810053;1683811913&q-key-time=1683810053;1683811913&q-header-list=&q-url-param-list=&q-signature=73496f310fd220f001ad07dcb2f04d79398a2262' --form-string 'x-cos-security-token=lmcIMLSJ3pZuaeigX7h4Q4GLupFJpkva3f62e080cca7abbde62d4187144f9195fyGZPYGdJeM5mKfvae6RArCiqnYUmQa7zkjQeEiXICMwdqMxSmv69KylRKjeYKWCo_GyouDcQAYeZXApfZSrHs76wFmIrCY-pvXusuFPs1UO6_M4WZSuwuqGZHE6kwpr9yRvTLkFvNQjxocr9Y9_QKq79vxyugfYc2UCs4GjK9TeGVDx1-v6JvnyDg3QwrNGgJ05WkLAY6rvZ0C4cVAiRSvF_khQHd67HhEAlb8AgtTlHDKh95vD00845nK2F5rMqbtUlBYEJ6EbBu6NOWtoTaUUvHNfznhH3v9B4yDl3uF4i5TTRTi3Cfzrqhhq-34nAIoDc1CLxGDw8z57ZDSsmZvwGAhFhJzyvzWuG-x2-10' --form-string 'x-cos-meta-file-name=G:\JenkinsWorkSpace\workspace\merchant_job\merchant_android\app\build\outputs\apk\dev\merchant-dev-v1.5.4.apk' -F 'file=@g:\JenkinsWorkSpace\workspace\merchant_job\merchant_android\app\build\outputs\apk\dev\merchant-dev-v1.5.4.apk' https://pgy-apps-1251724549.cos.ap-guangzhou.myqcloud.com
################################################################################################################################################ 100.0%
[2023-05-11 21:02:52] -------------------------------- 检查结果 --------------------------------
[2023-05-11 21:02:52] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=f6c6b80f09ab397accd793dc22275549\&buildKey=9c886c2365c8fd1ac11de215a8170ca3.apk
[2023-05-11 21:02:54] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=f6c6b80f09ab397accd793dc22275549\&buildKey=9c886c2365c8fd1ac11de215a8170ca3.apk
[2023-05-11 21:02:55] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=f6c6b80f09ab397accd793dc22275549\&buildKey=9c886c2365c8fd1ac11de215a8170ca3.apk
[2023-05-11 21:02:57] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=f6c6b80f09ab397accd793dc22275549\&buildKey=9c886c2365c8fd1ac11de215a8170ca3.apk
{"code":0,"message":"","data":{"buildKey":"9c886c2365c8fd1ac11de215a8170ca3","buildType":"2","buildIsFirst":"0","buildIsLastest":"1","buildFileKey":"9c886c2365c8fd1ac11de215a8170ca3.apk","buildFileName":"G:\JenkinsWorkSpace\workspace\merchant_job\merchant_android\app\build\outputs\apk\dev\merchant-dev-v1.5.4.apk","buildFileSize":"42829255","buildName":"\u4e07\u5546\u670d","buildVersion":"1.5.4","buildVersionNo":"154","buildBuildVersion":"495","buildIdentifier":"com.wanda.merchantplatform","buildIcon":"906439924748fcede3d7b4b274d8cf9b","buildDescription":"","buildUpdateDescription":"","buildScreenshots":"","buildShortcutUrl":"nNFu","buildCreated":"2023-05-11 21:02:55","buildUpdated":"2023-05-11 21:02:55","buildQRCodeURL":"http://www.pgyer.com/app/qrcodeHistory/2698f4cf01373d6944815cd237513a5c763eb3fcd907bd697d6311a8b8108a46"}}

apiv2/app/buildInfo接口返回的buildShortcutUrl为什么有时候有值有时候无值

如题

也没配过地址后缀,API是按照Demo使用

buildShortcutUrl无值

[2022-08-21 12:34:25] curl http://www.pgyer.com/apiv2/app/buildInfo?_api_key=xxxx\&buildKey=xxxx.ipa
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   712  100   712    0     0   4383      0 --:--:-- --:--:-- --:--:--  4593
[2022-08-21 12:34:25] {"code":0,"message":"","data":{"buildKey":"xxxx","buildType":"1","buildIsFirst":"0","buildIsLastest":"2","buildFileKey":"xxxx.ipa","buildFileName":"","buildFileSize":"107237869","buildName":"xxxx","buildVersion":"1.0.0","buildVersionNo":"1.0.0","buildBuildVersion":"0","buildIdentifier":"com.xxxx.app","buildIcon":"xxxx","buildDescription":"","buildUpdateDescription":"","buildScreenshots":"","buildShortcutUrl":"","buildCreated":"2022-08-21 12:34:24","buildUpdated":"2022-08-21 12:34:24","buildQRCodeURL":"http:\/\/www.pgyer.com\/app\/qrcodeHistory\/xxxx"}}
[2022-08-21 12:34:25] buildShortcutUrl =

buildShortcutUrl有值

[2022-08-21 12:37:26] curl http://www.pgyer.com/apiv2/app/buildInfo?_api_key=xxxx\&buildKey=xxxx.ipa
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   718  100   718    0     0   4616      0 --:--:-- --:--:-- --:--:--  4818
[2022-08-21 12:37:26] {"code":0,"message":"","data":{"buildKey":"xxxx","buildType":"1","buildIsFirst":"0","buildIsLastest":"1","buildFileKey":"xxxx.ipa","buildFileName":"","buildFileSize":"107237869","buildName":"xxxx","buildVersion":"1.0.0","buildVersionNo":"1.0.0","buildBuildVersion":"138","buildIdentifier":"com.xxxx.app","buildIcon":"xxxx","buildDescription":"","buildUpdateDescription":"","buildScreenshots":"","buildShortcutUrl":"xxxx","buildCreated":"2022-08-21 12:37:25","buildUpdated":"2022-08-21 12:37:25","buildQRCodeURL":"http:\/\/www.pgyer.com\/app\/qrcodeHistory\/xxxx"}}
[2022-08-21 12:37:26] buildShortcutUrl = xxxx

IPA上传无报错但是实际上传失败

您好,我使用./pgyer_upload.sh进行上传,没有看到日志报错,但是实际是上传失败的(平台上不显示新版本),请帮忙看下什么原因?感谢!
./pgyer_upload.sh脚本执行日志如下:

[2023-11-06 17:41:30] -------------------------------- 获取凭证 --------------------------------
[2023-11-06 17:41:30] curl -s --form-string '_api_key=808bcb7ead4675a90062ca60dc64fb46' --form-string 'buildType=ipa' --form-string 'buildInstallType=1' --form-string $'buildUpdateDescription=神眸app:自测版本!' --form-string 'buildInstallDate=1' http://www.pgyer.com/apiv2/app/getCOSToken
[2023-11-06 17:41:30] -------------------------------- 上传文件 --------------------------------
[2023-11-06 17:41:30] curl -s -o /dev/null -w '%{http_code}' --form-string 'key=ee3817fad0f772268bb5fcc4ff920750.ipa' --form-string 'signature=q-sign-algorithm=sha1&q-ak=AKID1wzLof6pPFk-_fTph9Kso-bjdP_DNro51O1WfK8ESnU2x4Y8PqYKORz7YWjqOKfl&q-sign-time=1699263630;1699265490&q-key-time=1699263630;1699265490&q-header-list=&q-url-param-list=&q-signature=22e8cbfdc34e541e93801c2a8d69dcd30fff3760' --form-string 'x-cos-security-token=pYQogqIKejqHit7Wh2o8ppHPInuQasza6ed9a805afe9056fed959ada3c27aa7ax6g9typhHYXDLZ5s3iXJhrMk-CSzdLKi5-4zGtlk2DSFS7qdeFN_vMOgxSjUfHIMg_pWHsAE0yUWEq9-VBcGv-7y58T6s6VYutlHSJL71jjjJ6LMhufu-jKPG2gA7Yr0AEfNpPKRHvoLIFvFOP_INbbD8sWliGyDTKIt_bOF2fhqwhq4FjyvHNivS6Uey9LEIBUrfSPlzDFBrcjFX4curD2GmeqPiQu-jVwlhSKFwcGhFh9gpsoL_w3mK0Kz6p9Tc8me-4I7COyWiNV8qrW3nQvft5tweLM3M8rLh2d9fwJh5h9JegevkByGVhrFRykHm9ZwyPhdwCkQ0ZmhG0HpZKlnPu3jGMqoYpdIh60BLZE' --form-string 'x-cos-meta-file-name=Cinmoore_ipa.ipa' -F 'file=@/Users/microbt/.jenkins/workspace/Cinmoore_release_test/app_ipa/Cinmoore_ipa.ipa' https://pgy-apps-1251724549.cos.ap-guangzhou.myqcloud.com/
[2023-11-06 17:41:59] -------------------------------- 检查结果 --------------------------------
[2023-11-06 17:41:59] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:00] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:02] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:03] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:04] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:06] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:07] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:08] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:10] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:11] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:12] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:14] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:15] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:16] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:18] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:19] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:20] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:22] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:23] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:24] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:26] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:27] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:28] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:30] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:31] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:32] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:33] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:35] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:36] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:37] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:39] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:40] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:41] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:43] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:44] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:45] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:46] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:48] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:49] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:50] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:52] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:53] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:54] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:56] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:57] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:58] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:42:59] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:43:01] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:43:02] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:43:03] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:43:05] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:43:06] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:43:07] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:43:08] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:43:10] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:43:11] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:43:12] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:43:14] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:43:15] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
[2023-11-06 17:43:16] curl -s http://www.pgyer.com/apiv2/app/buildInfo?_api_key=808bcb7ead4675a90062ca60dc64fb46\&buildKey=ee3817fad0f772268bb5fcc4ff920750.ipa
上传蒲公英执行结果:0

体验槽点

免费产品加点广告大家都能理解,但是蒲公英作为APP内测分发平台,在APP下载成功后用“下载领福利”打广告就不厚道了,用户会误以为是APP厂家本身做的广告,万一广告内容有点流氓用户来谩骂,这就让APP开发者给蒲公英平台背了黑锅,这太不厚道了。

希望开发传达一下建议给产品经理

image

超时也做个判断吧

pgyer_upload.sh

超时也报错 也会往下走,会走查询
建议加个超时报错的拦截判断

建议开放前端直传

建议开放前端直传,允许跨域。比如自己做了app上传站点(vue)。原因是大部分应用服务器的带宽不是很高。

“获取上传的token”这一步可以自己后端调用蒲公英的接口生成,第二步的上传步骤最好支持前端直传,蒲公英返回的endpoint应该是动态的,走vue代理好像是不可行的。

shell使用示例问题报403

shell要是有不用jq的会更好,刚刚好就没装jq,换其他设备也不一定有转

用其他匹配拿到返回数据,用示例上传报AccessDenied 403

[2022-08-20 22:26:44] curl -w '%{http_code}' --form-string 'key=""' --form-string 'signature=""' --form-string 'x-cos-security-token="https://pgy-apps-1251724549.cos.ap-guangzhou.myqcloud.com"' -F '[email protected]' "https://pgy-apps-1251724549.cos.ap-guangzhou.myqcloud.com"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0  102M  100   737    0  128k   2679   465k  0:03:45 --:--:--  0:03:45  480k
<?xml version='1.0' encoding='utf-8' ?> <Error> <Code>AccessDenied</Code> <Message>Access Denied.</Message> <ServerTime>2022-08-20T14:26:44Z</ServerTime> <Resource>xxxx</Resource> <RequestId>xxxx</RequestId> <TraceId>xxxx</TraceId> </Error> 403

什么时候可以出个gradle脚本?

def getPgyCOSToken() {
def url = new URL('https://www.pgyer.com/apiv2/app/getCOSToken')

def conn = url.openConnection() as HttpURLConnection
conn.setRequestMethod('POST')
conn.setRequestProperty('Content-Type', 'application/json')
conn.setRequestProperty("Charset", "UTF-8")
conn.setDoOutput(true)

def log = getGitVersion()

def params = new HashMap<>()
//(必填) API Key 点击获取_api_key
params.put("_api_key", apikes["pgyerApikey"])
//(必填) 需要上传的应用类型,如果是iOS类型请传ios或ipa,如果是Android类型请传android或apk
params.put("buildType", 'android')
//(选填) 是否使用海外加速上传,值为:1 使用海外加速上传,2 国内加速上传;留空根据 IP 自动判断海外加速或国内加速
params.put("oversea", 2)
//(选填)应用安装方式,值为(1,2,3,默认为1 公开安装)。1:公开安装,2:密码安装,3:邀请安装

// params.put("buildInstallType",1)
//(选填) 应用介绍,如没有介绍请传空字符串,或不传。
// params.put("buildPassword","万顺车主")
//(选填) 版本更新描述,请传空字符串,或不传。
params.put("buildDescription", log)
//(选填)是否设置安装有效期,值为:1 设置有效时间, 2 长期有效,如果不填写不修改上一次的设置
params.put("buildInstallDate", 2)
//(选填)安装有效期开始时间,字符串型,如:2023-05-31
// params.put("buildInstallStartDate","2023-05-31")
//(选填)安装有效期结束时间,字符串型,如:2023-12-31
// params.put("buildInstallEndDate","2023-12-31")
//(选填)所需更新指定的渠道短链接,渠道短链接须为已创建成功的,并且只可指定一个渠道,字符串型,如:abcd
// params.put("buildChannelShortcut","wsjcdriver")

// def data = [param1: 'value1', param2: 'value2']
//map 转json
def outputData = new groovy.json.JsonBuilder(params).toString()
println(outputData)

// 输出请求参数
def outStream = new OutputStreamWriter(conn.outputStream, "UTF-8")
outStream.write(outputData)
outStream.flush()
outStream.close()

def json = new JsonSlurper()
def result = json.parseText(conn.content.text)

println '#########################################################################################################################################'
println(result)

// def responseCode = conn.responseCode
// def responseMessage = conn.responseMessage
// def responseBody = conn.inputStream.text
// println "Response code: $responseCode"
// println "Response message: $responseMessage"
// println "Response body: $responseBody"
}

{"_api_key":"xxxxxxxxxx","buildType":"android","buildInstallDate":2,"buildDescription":"a16b0ab2","oversea":2}

//一直报这个错误
{code=1001, message=_api_key could not be empty}

明明传了_api_key

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.