OPPO开放平台API传包能力接入 文件上传

OPPO开放平台API传包能力接入 文件上传

上传流程说明

1)请求 获取上传配置 接口实时获取上传的请求 URL 和 sign。

2)请求 upload_url,参数为 文件上传 接口列出的参数,sign 是一次性的,每上传一个文件都需要重新获取一次。

获取上传配置

接口功能

此接口用于获取上传文件配置。

接口原型

-请求路由:/resource/v1/upload/get-upload-url
-请求方法:GET
-请求类型:Content-Type: x-www-form-urlencoded

请求参数

只需传入公共参数。

请求响应

响应说明

字段类型说明
errnoint错误码,为 0 表示请求成功
dataPreUploadBody响应结果,结构参考 PreUploadBody

PreUploadBody

字段类型说明
upload_urlstring文件上传 URL
signstring一次性标识,单次有效,每个新文件必须重新获取

响应示例

成功示例
{
    "errno": 0,
    "data": {
        "upload_url": "https://oppo.com/xxxxxxxxx",
        "sign": "b1fe****ad13"
    }
}

文件上传

接口功能

此接口用于上传文件。

接口原型

  • 请求 URL:接口获取上传配置返回的 upload_url
  • 请求方法:POST
  • 请求类型:Content-Type: multipart/form-data

请求参数

字段类型是否必传说明
typestring文件类型,包括照片、APK 包、其它,值是:photo、apk、resource
signstring一次性标识,从获取上传配置返回的 sign 字段,单次有效,每个新文件必须重新获取
filebinary文件对象

请求响应

响应说明

字段类型说明
errnoint错误码,为 0 表示请求成功
datamap响应结果,参考 UploadObj

UploadObj

字段类型说明
urlstring文件地址(带域名)
uri_pathstring文件 URI(不带域名)
md5string文件 MD5
file_extensionstring文件扩展名
file_sizeint文件大小
idstring标记
widthint图片宽度(只有图片才有)
heightint图片高度(只有图片才有)

响应示例

成功示例

APK 类型
{
    "errno": 0,
    "data": {
        "url": "https://oppo.com/********261d.apk",
        "uri_path": "/********261d.apk",
        "md5": "5efd****4d4d",
        "file_extension": "apk",
        "file_size": 4181241,
        "id": "XXXXX"
    }
}
图片类型
 {
     "errno": 0,
     "data": {
         "url": "http://oppo.com/********d47d.jpg",
         "uri_path": "/********d47d.jpg",
         "md5": "55e3****1084",
         "sign": "eee4****bce4",
         "width": 1080,
         "height": 1920,
         "file_extension": "jpg",
         "file_size": 598879
     }
 }
resource
{
    "errno": 0,
    "data": {
        "url": "http://oppo.com/********a936.pdf",
        "uri_path": "/********a936.pdf",
        "md5": "d557****4931",
        "sign": "b384****821f",
        "file_extension": "pdf",
        "file_size": 15106
    }
}

失败示例

-sign 过期或不合法,需要重新调用接口获取 sign

{
    "errno": 910003,
    "data": {
        "message": "Unauthorized upload [1]",
        "logid": 2965369111,
        "ext": []
    }
}

url 链接 APP开发淘宝客 APP接入阿里百川电商 打开指定url 链接

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

url 链接 APP开发淘宝客 APP接入阿里百川电商 打开指定url 链接

♦ 请参考 detail 方法的使用说明

核心代码示例,详情参阅demo

jsBridge.bc.url({
  url: "https://shop34803518.taobao.com/"  //链接
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.bc.url({
  url: "https://shop34803518.taobao.com/"  //链接
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.bc.url({
  url: "https://shop34803518.taobao.com/"  //链接
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->