Deskripsi API
Untuk gambar, dokumen berformat WPS (Word, Excel, dan PowerPoint), file PDF, dan file TXT yang diunggah ke ruang penyimpanan, thumbnail dibuat secara otomatis dan asinkron. Panggil API ini untuk mendapatkan informasi thumbnail file tersimpan secara massal.Izin
Untuk memanggil API ini, salah satu izin berikut diperlukan.| Jenis aplikasi | Didukung | Izin | API Explorer Debug |
|---|---|---|---|
| Aplikasi internal | Didukung | Izin baca untuk file penyimpanan organisasi | API Explorer |
| Aplikasi perusahaan pihak ketiga | Didukung | Izin baca untuk file penyimpanan organisasi | API Explorer |
| Aplikasi personal pihak ketiga | Tidak didukung | Izin baca untuk file penyimpanan organisasi | Tidak didukung |
Metode HTTP
POST /v1.0/storage/spaces/{spaceId}/thumbnails/query?unionId=String HTTP/1.1
Host:api.dingtalk.io
x-acs-dingtalk-access-token:String
Content-Type:application/json
{
"dentryIds" : [ "String" ]
}
Parameter header
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| x-acs-dingtalk-access-token | String | Ya | Kredensial akses untuk memanggil API ini. Dapatkan sebagai berikut: - Untuk aplikasi internal, panggil API Mendapatkan access token aplikasi internal. - Untuk aplikasi perusahaan pihak ketiga, panggil API untuk mendapatkan access token organisasi yang diberi otorisasi untuk aplikasi pihak ketiga. |
Parameter path
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| spaceId | String | Ya | ID ruang. Dapatkan nilai parameter id dengan memanggil API Tambah ruang. |
Parameter query
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| unionId | String | Ya | unionId dari operator. Dapatkan dengan memanggil API Kueri detail pengguna. |
Parameter body
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| dentryIds | Array of String | Ya | ID file. Jumlah maksimum adalah 30. Dapatkan nilai parameter id dengan memanggil API untuk mendapatkan daftar file atau folder. |
Parameter respons
| Nama | Tipe | Deskripsi |
|---|---|---|
| resultItems | Array | Daftar hasil pengambilan thumbnail. |
| spaceId | String | ID ruang tempat file berada. |
| dentryId | String | ID file. |
| success | Boolean | Apakah informasi thumbnail berhasil diambil. true menandakan berhasil. |
| errorCode | String | Alasan error. |
| thumbnail | Object | Informasi thumbnail. |
| width | Integer | Lebar thumbnail, dalam px. |
| height | Integer | Tinggi thumbnail, dalam px. |
| url | String | URL thumbnail. |
Contoh
Contoh permintaan
HTTPPOST /v1.0/storage/spaces/785xxxxx/thumbnails/query?unionId=chyxxxxx HTTP/1.1
Host:api.dingtalk.io
x-acs-dingtalk-access-token:xxxxx
Content-Type:application/json
{
"dentryIds" : [ "790xxxxx" ]
}
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sample;
import com.aliyun.tea.*;
public class Sample {
/**
* Initialize the account Client using a Token
* @return Client
* @throws Exception
*/
public static com.aliyun.dingtalkstorage_1_0.Client createClient() throws Exception {
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
config.protocol = "https";
config.regionId = "central";
return new com.aliyun.dingtalkstorage_1_0.Client(config);
}
public static void main(String[] args_) throws Exception {
java.util.List<String> args = java.util.Arrays.asList(args_);
com.aliyun.dingtalkstorage_1_0.Client client = Sample.createClient();
com.aliyun.dingtalkstorage_1_0.models.GetDentryThumbnailsHeaders getDentryThumbnailsHeaders = new com.aliyun.dingtalkstorage_1_0.models.GetDentryThumbnailsHeaders();
getDentryThumbnailsHeaders.xAcsDingtalkAccessToken = "<your access token>";
com.aliyun.dingtalkstorage_1_0.models.GetDentryThumbnailsRequest getDentryThumbnailsRequest = new com.aliyun.dingtalkstorage_1_0.models.GetDentryThumbnailsRequest()
.setUnionId("chyxxxxx")
.setDentryIds(java.util.Arrays.asList(
"790xxxxx"
));
try {
client.getDentryThumbnailsWithOptions("785xxxxx", getDentryThumbnailsRequest, getDentryThumbnailsHeaders, new com.aliyun.teautil.models.RuntimeOptions());
} catch (TeaException err) {
if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) {
// err berisi properti code dan message yang membantu menemukan issue
}
} catch (Exception _err) {
TeaException err = new TeaException(_err.getMessage(), _err);
if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) {
// err berisi properti code dan message yang membantu menemukan issue
}
}
}
}
# -*- coding: utf-8 -*-
# This file is auto-generated, don't edit it. Thanks.
import sys
from typing import List
from alibabacloud_dingtalk.storage_1_0.client import Client as dingtalkstorage_1_0Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_dingtalk.storage_1_0 import models as dingtalkstorage__1__0_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_util.client import Client as UtilClient
class Sample:
def __init__(self):
pass
@staticmethod
def create_client() -> dingtalkstorage_1_0Client:
"""
Initialize the account Client using a Token
@return: Client
@throws Exception
"""
config = open_api_models.Config()
config.protocol = 'https'
config.region_id = 'central'
return dingtalkstorage_1_0Client(config)
@staticmethod
def main(
args: List[str],
) -> None:
client = Sample.create_client()
get_dentry_thumbnails_headers = dingtalkstorage__1__0_models.GetDentryThumbnailsHeaders()
get_dentry_thumbnails_headers.x_acs_dingtalk_access_token = '<your access token>'
get_dentry_thumbnails_request = dingtalkstorage__1__0_models.GetDentryThumbnailsRequest(
union_id='chyxxxxx',
dentry_ids=[
'790xxxxx'
]
)
try:
client.get_dentry_thumbnails_with_options('785xxxxx', get_dentry_thumbnails_request, get_dentry_thumbnails_headers, util_models.RuntimeOptions())
except Exception as err:
if not UtilClient.empty(err.code) and not UtilClient.empty(err.message):
# err berisi properti code dan message yang membantu menemukan issue
pass
@staticmethod
async def main_async(
args: List[str],
) -> None:
client = Sample.create_client()
get_dentry_thumbnails_headers = dingtalkstorage__1__0_models.GetDentryThumbnailsHeaders()
get_dentry_thumbnails_headers.x_acs_dingtalk_access_token = '<your access token>'
get_dentry_thumbnails_request = dingtalkstorage__1__0_models.GetDentryThumbnailsRequest(
union_id='chyxxxxx',
dentry_ids=[
'790xxxxx'
]
)
try:
await client.get_dentry_thumbnails_with_options_async('785xxxxx', get_dentry_thumbnails_request, get_dentry_thumbnails_headers, util_models.RuntimeOptions())
except Exception as err:
if not UtilClient.empty(err.code) and not UtilClient.empty(err.message):
# err berisi properti code dan message yang membantu menemukan issue
pass
if __name__ == '__main__':
Sample.main(sys.argv[1:])
<?php
// This file is auto-generated, don't edit it. Thanks.
namespace AlibabaCloud\SDK\Sample;
use AlibabaCloud\SDK\Dingtalk\Vstorage_1_0\Dingtalk;
use \Exception;
use AlibabaCloud\Tea\Exception\TeaError;
use AlibabaCloud\Tea\Utils\Utils;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Dingtalk\Vstorage_1_0\Models\GetDentryThumbnailsHeaders;
use AlibabaCloud\SDK\Dingtalk\Vstorage_1_0\Models\GetDentryThumbnailsRequest;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
class Sample {
/**
* Initialize the account Client using a Token
* @return Dingtalk Client
*/
public static function createClient(){
$config = new Config([]);
$config->protocol = "https";
$config->regionId = "central";
return new Dingtalk($config);
}
/**
* @param string[] $args
* @return void
*/
public static function main($args){
$client = self::createClient();
$getDentryThumbnailsHeaders = new GetDentryThumbnailsHeaders([]);
$getDentryThumbnailsHeaders->xAcsDingtalkAccessToken = "<your access token>";
$getDentryThumbnailsRequest = new GetDentryThumbnailsRequest([
"unionId" => "chyxxxxx",
"dentryIds" => [
"790xxxxx"
]
]);
try {
$client->getDentryThumbnailsWithOptions("785xxxxx", $getDentryThumbnailsRequest, $getDentryThumbnailsHeaders, new RuntimeOptions([]));
}
catch (Exception $err) {
if (!($err instanceof TeaError)) {
$err = new TeaError([], $err->getMessage(), $err->getCode(), $err);
}
if (!Utils::empty_($err->code) && !Utils::empty_($err->message)) {
// err berisi properti code dan message yang membantu menemukan issue
}
}
}
}
$path = __DIR__ . \DIRECTORY_SEPARATOR . '..' . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
if (file_exists($path)) {
require_once $path;
}
Sample::main(array_slice($argv, 1));
// This file is auto-generated, don't edit it. Thanks.
package main
import (
"os"
util "github.com/alibabacloud-go/tea-utils/v2/service"
dingtalkstorage_1_0 "github.com/alibabacloud-go/dingtalk/storage_1_0"
openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
"github.com/alibabacloud-go/tea/tea"
)
/**
* Initialize the account Client using a Token
* @return Client
* @throws Exception
*/
func CreateClient () (_result *dingtalkstorage_1_0.Client, _err error) {
config := &openapi.Config{}
config.Protocol = tea.String("https")
config.RegionId = tea.String("central")
_result = &dingtalkstorage_1_0.Client{}
_result, _err = dingtalkstorage_1_0.NewClient(config)
return _result, _err
}
func _main (args []*string) (_err error) {
client, _err := CreateClient()
if _err != nil {
return _err
}
getDentryThumbnailsHeaders := &dingtalkstorage_1_0.GetDentryThumbnailsHeaders{}
getDentryThumbnailsHeaders.XAcsDingtalkAccessToken = tea.String("<your access token>")
getDentryThumbnailsRequest := &dingtalkstorage_1_0.GetDentryThumbnailsRequest{
UnionId: tea.String("chyxxxxx"),
DentryIds: []*string{tea.String("790xxxxx")},
}
tryErr := func()(_e error) {
defer func() {
if r := tea.Recover(recover()); r != nil {
_e = r
}
}()
_, _err = client.GetDentryThumbnailsWithOptions(tea.String("785xxxxx"), getDentryThumbnailsRequest, getDentryThumbnailsHeaders, &util.RuntimeOptions{})
if _err != nil {
return _err
}
return nil
}()
if tryErr != nil {
var err = &tea.SDKError{}
if _t, ok := tryErr.(*tea.SDKError); ok {
err = _t
} else {
err.Message = tea.String(tryErr.Error())
}
if !tea.BoolValue(util.Empty(err.Code)) && !tea.BoolValue(util.Empty(err.Message)) {
// err berisi properti code dan message yang membantu menemukan issue
}
}
return _err
}
func main() {
err := _main(tea.StringSlice(os.Args[1:]))
if err != nil {
panic(err)
}
}
// This file is auto-generated, don't edit it
import Util, * as $Util from '@alicloud/tea-util';
import dingtalkstorage_1_0, * as $dingtalkstorage_1_0 from '@alicloud/dingtalk/storage_1_0';
import OpenApi, * as $OpenApi from '@alicloud/openapi-client';
import * as $tea from '@alicloud/tea-typescript';
export default class Client {
/**
* Initialize the account Client using a Token
* @return Client
* @throws Exception
*/
static createClient(): dingtalkstorage_1_0 {
let config = new $OpenApi.Config({ });
config.protocol = "https";
config.regionId = "central";
return new dingtalkstorage_1_0(config);
}
static async main(args: string[]): Promise<void> {
let client = Client.createClient();
let getDentryThumbnailsHeaders = new $dingtalkstorage_1_0.GetDentryThumbnailsHeaders({ });
getDentryThumbnailsHeaders.xAcsDingtalkAccessToken = "<your access token>";
let getDentryThumbnailsRequest = new $dingtalkstorage_1_0.GetDentryThumbnailsRequest({
unionId: "chyxxxxx",
dentryIds: [
"790xxxxx"
],
});
try {
await client.getDentryThumbnailsWithOptions("785xxxxx", getDentryThumbnailsRequest, getDentryThumbnailsHeaders, new $Util.RuntimeOptions({ }));
} catch (err) {
if (!Util.empty(err.code) && !Util.empty(err.message)) {
// err berisi properti code dan message yang membantu menemukan issue
}
}
}
}
Client.main(process.argv.slice(2));
// This file is auto-generated, don't edit it. Thanks.
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using Tea;
using Tea.Utils;
namespace AlibabaCloud.SDK.Sample
{
public class Sample
{
/**
* Initialize the account Client using a Token
* @return Client
* @throws Exception
*/
public static AlibabaCloud.SDK.Dingtalkstorage_1_0.Client CreateClient()
{
AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config();
config.Protocol = "https";
config.RegionId = "central";
return new AlibabaCloud.SDK.Dingtalkstorage_1_0.Client(config);
}
public static void Main(string[] args)
{
AlibabaCloud.SDK.Dingtalkstorage_1_0.Client client = CreateClient();
AlibabaCloud.SDK.Dingtalkstorage_1_0.Models.GetDentryThumbnailsHeaders getDentryThumbnailsHeaders = new AlibabaCloud.SDK.Dingtalkstorage_1_0.Models.GetDentryThumbnailsHeaders();
getDentryThumbnailsHeaders.XAcsDingtalkAccessToken = "<your access token>";
AlibabaCloud.SDK.Dingtalkstorage_1_0.Models.GetDentryThumbnailsRequest getDentryThumbnailsRequest = new AlibabaCloud.SDK.Dingtalkstorage_1_0.Models.GetDentryThumbnailsRequest
{
UnionId = "chyxxxxx",
DentryIds = new List<string>
{
"790xxxxx"
},
};
try
{
client.GetDentryThumbnailsWithOptions("785xxxxx", getDentryThumbnailsRequest, getDentryThumbnailsHeaders, new AlibabaCloud.TeaUtil.Models.RuntimeOptions());
}
catch (TeaException err)
{
if (!AlibabaCloud.TeaUtil.Common.Empty(err.Code) && !AlibabaCloud.TeaUtil.Common.Empty(err.Message))
{
// err berisi properti code dan message yang membantu menemukan issue
}
}
catch (Exception _err)
{
TeaException err = new TeaException(new Dictionary<string, object>
{
{ "message", _err.Message }
});
if (!AlibabaCloud.TeaUtil.Common.Empty(err.Code) && !AlibabaCloud.TeaUtil.Common.Empty(err.Message))
{
// err berisi properti code dan message yang membantu menemukan issue
}
}
}
}
}
Contoh respons
HTTP/1.1 200 OK
Content-Type:application/json
{
"resultItems" : [ {
"spaceId" : "785xxxxx",
"dentryId" : "790xxxxx",
"success" : true,
"errorCode" : "permissionDenied",
"thumbnail" : {
"width" : 64,
"height" : 64,
"url" : "url"
}
} ]
}
Kode error
| HttpCode | Kode error | Pesan error | Deskripsi |
|---|---|---|---|
| 400 | paramError | %s | Error parameter |
| 400 | paramError.spaceId | %s | Error parameter - spaceId |
| 400 | paramError.dentryIds | %s | Error parameter - dentryIds |
| 400 | permissionDenied | %s | Tidak ada izin untuk mendapatkan thumbnail |
| 400 | dentryNotExist | %s | File tidak ada |
| 400 | dentryFormatNotSupport | %s | Thumbnail tidak didukung untuk format ini |
| 400 | fileViral | %s | File terinfeksi virus |
| 400 | fileMalicious | %s | File berbahaya |
| 403 | thumbnailNotExist | %s | Thumbnail tidak ada |
| 500 | systemError | %s | Error sistem |
| 500 | unknownError | Unknown Error | Error tidak dikenal |