用户的图片
您可以使用User Images API让最终用户将图像上传到帮助中心实例。
上传用户图片分为三个步骤:
请求创建一个图像上传URL和一个令牌。看到创建图像上传URL和令牌.
向图片上传URL发出一个PUT请求来上传图片。看到使用上传URL上传图像.
在帮助中心请求创建映像路径。看到创建镜像路径.
您可以使用帖子评论正文中的路径来内联显示图像。
创建图像上传URL和令牌
POST / api / v2 /指导/ user_images /上传
返回上传URL和令牌。使用PUT请求中的上传URL将图像上传到帮助中心。看到使用上传URL上传图像在下面。
上传图像后,使用image令牌创建图像路径。看到创建镜像路径.
使用上传URL上传图像
端点返回一个对象url
和头
属性:
“头”:{
“附加”:“附件;文件名= \“01 gc9jen2x052bakw905ph9c36.jpeg \”“,
“内容类型”:“图像/ jpeg”,
“X-Amz-Server-Side-Encryption”:“AES256”
},
…
“url”:“https://aus -上传资产- production.s3 accelerate.amazonaws.com/20/13633840/01gc9jen2x052bakw905ph9c36?content type=image%2fjpeg&x湄京- algorithm=aws4 hmac - sha256&x湄京,credential=access_key%2f20220906%2fus -东- 1% - 2 - fs3%2faws4_request&x湄京date=20220906t141448z&x湄京- expires=3600&x湄京- signature=476f8f09a97cae0bb582716d54dc58cdfbc754c5e20a2c492515d7ffce954971&x湄京signedheaders=content - disposition%3bhost%3bx湄京-服务器-方- encryption&x湄京-服务器- - encryption=aes256”
要上传图像,请向URL发出一个带有指定标题的PUT请求。代理、最终用户或匿名用户都可以发出请求。最大文件大小为2MB。
下面的curl示例上传图像:
curl - l - x将https://aus -上传资产- production.s3 accelerate.amazonaws.com/20/13633840/01gc9jen2x052bakw905ph9c36?content type=image%2fjpeg&x湄京- algorithm=aws4 hmac - sha256&x,湄京- credential=access_key%2f20220906%2fus -东- 1% - 2 - fs3%2faws4_request&x湄京- date=20220906t141448z&x湄京- expires=3600&x湄京signature=476f8f09a97cae0bb582716d54dc58cdfbc754c5e20a2c492515d7ffce954971&x湄京- signedheaders=content disposition%3bhost%3bx湄京-服务器- encryption&x湄京-服务器-一起——encryption=aes256 \
-内容-处置:附件;文件名= " 01 gc9jen2x052bakw905ph9c36.jpeg“\”
-H 'Content-Type: image/jpeg' \
-H 'X-Amz-Server-Side-Encryption: AES256'
——data-binary“@ {file}”
一个成功的响应将返回:
状态200好吧
请求体格式
的请求体POST / api / v2 /指导/ user_images /上传
必须是一个JSON对象,具有以下属性:
名字 | 类型 | 强制性的 | 描述 |
---|---|---|---|
content_type | 字符串 | 真正的 | 要上传的文件的内容类型 |
file_size | 数量 | 真正的 | 文件大小(以字节为单位)。最大大小为2000000 (2MB)。 |
允许
- 代理
- 最终用户
- 匿名用户
代码示例
旋度
旋度-X POST https://{子域名}.亚博zendesk.com/api/v2/guide/user_images/uploads\
- u{email_address}:{密码}\
- d”{content_type”:“图像/ jpeg”,“file_size”:169846}”
去
进口(
“fmt”
“输入输出”
“net/http”
)
函数主要(){
url:=“https://support.亚博zendesk.com/api/v2/guide/user_images/uploads”
方法:=“职位”
要求的事情,犯错:=http.NewRequest(方法,url,零)
如果犯错! =零{
fmt.Println(犯错)
返回
}
要求的事情.头.添加(“内容类型”,“application / json”)
要求的事情.头.添加(“授权”,“基本< auth-value >”)// Base64编码的"username:password"
客户端:=&http.客户端{}
res,犯错:=客户端.做(要求的事情)
如果犯错! =零{
fmt.Println(犯错)
返回
}
推迟res.身体.关闭()
身体,犯错:=io.ReadAll(res.身体)
如果犯错! =零{
fmt.Println(犯错)
返回
}
fmt.Println(字符串(身体))
}
Java
进口com.squareup.okhttp.*;
OkHttpClient客户端=新OkHttpClient();
HttpUrl.构建器urlBuilder=HttpUrl.解析(“https://support.亚博zendesk.com/api/v2/guide/user_images/uploads”)
.newBuilder();
RequestBody身体=RequestBody.创建(MediaType.解析(“application / json”),
”“"
”“");
请求请求=新请求.构建器()
.url(urlBuilder.构建())
.方法(“职位”,身体)
.addHeader(“内容类型”,“application / json”)
.addHeader(“授权”,凭证.基本(“电子邮件”,“你的密码”))
.构建();
响应响应=客户端.newCall(请求).执行();
Nodejs
varaxios=需要(“axios”);
var配置={
方法:“职位”,
url:“https://support.亚博zendesk.com/api/v2/guide/user_images/uploads”,
头:{
“内容类型”:“application / json”,
“授权”:的基本< auth-value >”,// Base64编码的"username:password"
},
};
axios(配置)
.然后(函数(响应){
控制台.日志(JSON.stringify(响应.数据));
})
.抓(函数(错误){
控制台.日志(错误);
});
Python
进口请求
url=“https://support.亚博zendesk.com/api/v2/guide/user_images/uploads”
头={
“内容类型”:“application / json”,
}
响应=请求.请求(
“职位”,
url,
身份验证=(“<用户名>”,' <密码> '),
头=头
)
打印(响应.文本)
鲁比(人名)
需要“net/http”
uri=URI(“https://support.亚博zendesk.com/api/v2/guide/user_images/uploads”)
请求=网::HTTP::帖子.新(uri,“内容类型”:“application / json”)
请求.basic_auth“用户名”,“密码”
响应=网::HTTP.开始uri.主机名,uri.港口,use_ssl:真正的做|http|
http.请求(请求)
结束
示例响应(年代)
200好了
//状态200 OK
{
“上传”:{
“头”:{
“附加”:“附件;文件名= \“01 f1d8hvj3tk6czh8hm51yeqrg.jpeg \”“,
“内容类型”:“图像/ jpeg”,
“X-Amz-Server-Side-Encryption”:“AES256”
},
“令牌”:“01 f1d8hvj3tk6czh8hm51yeqrg”,
“url”:“https://{子域名}.zendes亚博k.com.com/aus-uploaded-assets/1/42/01F1D8HVJ3TK6CZH8HM51YEQRG ? - type = image%2Fjpeg&X-Amz-Algorithm = AWS4-HMAC-SHA256&X-Amz-Credential = accesskey%2f20210322%2fus -东- 1% - 2 - fs3%2faws4_request&x湄京日期= 20210322 t152346z&x-amz-expires = 3600 &x-amz-signature = a5fd09fb179fe3dc3e085398423988f1c5fc5f6a6eb66a0c020905f47b72f11b&X-Amz-SignedHeaders = content-disposition%3Bhost%3Bx-amz-server-side-encryption&x-amz-server-side-encryption = AES256”
}
}
创建镜像路径
POST / api / v2 /指导/ user_images
返回可用于在社区帖子中显示图像的图像路径。
您应该只在上传图像之后使用这个端点。看到使用上传URL上传图像.
请求体格式
请求主体必须是一个JSON对象,具有以下属性:
名字 | 类型 | 强制性的 | 描述 |
---|---|---|---|
令牌 | 字符串 | 真正的 | 图像令牌。看到创建图像上传URL和令牌 |
brand_id | 字符串 | 真正的 | 上传图片的品牌ID |
允许
- 代理
- 最终用户
- 匿名用户
代码示例
旋度
旋度-X POST https://{子域名}.亚博zendesk.com/api/v2/guide/user_images\
- u{email_address}:{密码}\
- d'{"token": "01GC9JEN2X052BAKW905PH9C36", "brand_id": "10016"}'
去
进口(
“fmt”
“输入输出”
“net/http”
)
函数主要(){
url:=“https://support.亚博zendesk.com/api/v2/guide/user_images”
方法:=“职位”
要求的事情,犯错:=http.NewRequest(方法,url,零)
如果犯错! =零{
fmt.Println(犯错)
返回
}
要求的事情.头.添加(“内容类型”,“application / json”)
要求的事情.头.添加(“授权”,“基本< auth-value >”)// Base64编码的"username:password"
客户端:=&http.客户端{}
res,犯错:=客户端.做(要求的事情)
如果犯错! =零{
fmt.Println(犯错)
返回
}
推迟res.身体.关闭()
身体,犯错:=io.ReadAll(res.身体)
如果犯错! =零{
fmt.Println(犯错)
返回
}
fmt.Println(字符串(身体))
}
Java
进口com.squareup.okhttp.*;
OkHttpClient客户端=新OkHttpClient();
HttpUrl.构建器urlBuilder=HttpUrl.解析(“https://support.亚博zendesk.com/api/v2/guide/user_images”)
.newBuilder();
RequestBody身体=RequestBody.创建(MediaType.解析(“application / json”),
”“"
”“");
请求请求=新请求.构建器()
.url(urlBuilder.构建())
.方法(“职位”,身体)
.addHeader(“内容类型”,“application / json”)
.addHeader(“授权”,凭证.基本(“电子邮件”,“你的密码”))
.构建();
响应响应=客户端.newCall(请求).执行();
Nodejs
varaxios=需要(“axios”);
var配置={
方法:“职位”,
url:“https://support.亚博zendesk.com/api/v2/guide/user_images”,
头:{
“内容类型”:“application / json”,
“授权”:的基本< auth-value >”,// Base64编码的"username:password"
},
};
axios(配置)
.然后(函数(响应){
控制台.日志(JSON.stringify(响应.数据));
})
.抓(函数(错误){
控制台.日志(错误);
});
Python
进口请求
url=“https://support.亚博zendesk.com/api/v2/guide/user_images”
头={
“内容类型”:“application / json”,
}
响应=请求.请求(
“职位”,
url,
身份验证=(“<用户名>”,' <密码> '),
头=头
)
打印(响应.文本)
鲁比(人名)
需要“net/http”
uri=URI(“https://support.亚博zendesk.com/api/v2/guide/user_images”)
请求=网::HTTP::帖子.新(uri,“内容类型”:“application / json”)
请求.basic_auth“用户名”,“密码”
响应=网::HTTP.开始uri.主机名,uri.港口,use_ssl:真正的做|http|
http.请求(请求)
结束
示例响应(年代)
201年创建
//状态201创建
{
“user_image”:{
“content_type”:“图像/ jpeg”,
“路径”:“/ hc / user_images / Bvj4bPDuRd-7d5hFVszvmQ.jpeg”,
“大小”:169846
}
}