Deskripsi panggilan API
Panggil API ini untuk mendapatkan detail sebuah ruang, termasuk nama ruang, kuota yang digunakan, tipe pemilik, dan lainnya.- Ketika tipe ruang penyimpanan adalah USER, semua pengguna yang memiliki izin pada ruang tersebut memiliki izin operasi. Karyawan lain harus memanggil API Tambah izin untuk memperoleh otorisasi.
- Ketika tipe ruang penyimpanan adalah APP, siapa pun yang melakukan operasi harus memanggil API Tambah izin untuk memperoleh otorisasi.
Permintaan
Informasi dasar
| Bidang | Nilai |
|---|---|
| URL HTTP | https://api.dingtalk.io/v1.0/storage/spaces/{spaceId} |
| Metode HTTP | GET |
| Jenis aplikasi yang didukung | appType-Aplikasi internal appType-Aplikasi perusahaan pihak ketiga |
| Persyaratan izin | permission-Storage.Space.Read-Izin baca pada ruang penyimpanan organisasi |
Header permintaan
| 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 Mendapatkan access token organisasi terotorisasi untuk aplikasi pihak ketiga. |
Parameter path
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| spaceId | String | Ya | ID ruang. Panggil API Tambah ruang untuk mendapatkan nilai parameter id. |
Parameter query
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| unionId | String | Ya | unionId dari operator. Panggil API Query detail pengguna untuk mendapatkannya. |
Contoh permintaan
HTTPGET /v1.0/storage/spaces/854xxxxx?unionId=cxUXxxxxxx HTTP/1.1
Host:api.dingtalk.io
x-acs-dingtalk-access-token:xxxxx
Content-Type:application/json
// 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 with 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.GetSpaceHeaders getSpaceHeaders = new com.aliyun.dingtalkstorage_1_0.models.GetSpaceHeaders();
getSpaceHeaders.xAcsDingtalkAccessToken = "<your access token>";
com.aliyun.dingtalkstorage_1_0.models.GetSpaceRequest getSpaceRequest = new com.aliyun.dingtalkstorage_1_0.models.GetSpaceRequest()
.setUnionId("cxUXxxxxxx");
try {
client.getSpaceWithOptions("854xxxxx", getSpaceRequest, getSpaceHeaders, 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 contains code and message attributes to help locate the 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 contains code and message attributes to help locate the 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 with 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_space_headers = dingtalkstorage__1__0_models.GetSpaceHeaders()
get_space_headers.x_acs_dingtalk_access_token = '<your access token>'
get_space_request = dingtalkstorage__1__0_models.GetSpaceRequest(
union_id='cxUXxxxxxx'
)
try:
client.get_space_with_options('854xxxxx', get_space_request, get_space_headers, util_models.RuntimeOptions())
except Exception as err:
if not UtilClient.empty(err.code) and not UtilClient.empty(err.message):
# err contains code and message attributes to help locate the issue
pass
@staticmethod
async def main_async(
args: List[str],
) -> None:
client = Sample.create_client()
get_space_headers = dingtalkstorage__1__0_models.GetSpaceHeaders()
get_space_headers.x_acs_dingtalk_access_token = '<your access token>'
get_space_request = dingtalkstorage__1__0_models.GetSpaceRequest(
union_id='cxUXxxxxxx'
)
try:
await client.get_space_with_options_async('854xxxxx', get_space_request, get_space_headers, util_models.RuntimeOptions())
except Exception as err:
if not UtilClient.empty(err.code) and not UtilClient.empty(err.message):
# err contains code and message attributes to help locate the 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\GetSpaceHeaders;
use AlibabaCloud\SDK\Dingtalk\Vstorage_1_0\Models\GetSpaceRequest;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
class Sample {
/**
* Initialize the account Client with 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();
$getSpaceHeaders = new GetSpaceHeaders([]);
$getSpaceHeaders->xAcsDingtalkAccessToken = "<your access token>";
$getSpaceRequest = new GetSpaceRequest([
"unionId" => "cxUXxxxxxx"
]);
try {
$client->getSpaceWithOptions("854xxxxx", $getSpaceRequest, $getSpaceHeaders, 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 contains code and message attributes to help locate the 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 with 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
}
getSpaceHeaders := &dingtalkstorage_1_0.GetSpaceHeaders{}
getSpaceHeaders.XAcsDingtalkAccessToken = tea.String("<your access token>")
getSpaceRequest := &dingtalkstorage_1_0.GetSpaceRequest{
UnionId: tea.String("cxUXxxxxxx"),
}
tryErr := func()(_e error) {
defer func() {
if r := tea.Recover(recover()); r != nil {
_e = r
}
}()
_, _err = client.GetSpaceWithOptions(tea.String("854xxxxx"), getSpaceRequest, getSpaceHeaders, &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 contains code and message attributes to help locate the 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 with 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 getSpaceHeaders = new $dingtalkstorage_1_0.GetSpaceHeaders({ });
getSpaceHeaders.xAcsDingtalkAccessToken = "<your access token>";
let getSpaceRequest = new $dingtalkstorage_1_0.GetSpaceRequest({
unionId: "cxUXxxxxxx",
});
try {
await client.getSpaceWithOptions("854xxxxx", getSpaceRequest, getSpaceHeaders, new $Util.RuntimeOptions({ }));
} catch (err) {
if (!Util.empty(err.code) && !Util.empty(err.message)) {
// err contains code and message attributes to help locate the 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 with 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.GetSpaceHeaders getSpaceHeaders = new AlibabaCloud.SDK.Dingtalkstorage_1_0.Models.GetSpaceHeaders();
getSpaceHeaders.XAcsDingtalkAccessToken = "<your access token>";
AlibabaCloud.SDK.Dingtalkstorage_1_0.Models.GetSpaceRequest getSpaceRequest = new AlibabaCloud.SDK.Dingtalkstorage_1_0.Models.GetSpaceRequest
{
UnionId = "cxUXxxxxxx",
};
try
{
client.GetSpaceWithOptions("854xxxxx", getSpaceRequest, getSpaceHeaders, new AlibabaCloud.TeaUtil.Models.RuntimeOptions());
}
catch (TeaException err)
{
if (!AlibabaCloud.TeaUtil.Common.Empty(err.Code) && !AlibabaCloud.TeaUtil.Common.Empty(err.Message))
{
// err contains code and message attributes to help locate the 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 contains code and message attributes to help locate the issue
}
}
}
}
}
# -*- coding: utf-8 -*-
# This file is auto-generated, don't edit it. Thanks.
from __future__ import unicode_literals
import sys
from alibabacloud_dingtalkstorage_1_0.client import Client as dingtalkstorage_1_0Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_dingtalkstorage_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(object):
def __init__(self):
pass
@staticmethod
def create_client():
"""
Initialize the account Client with 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):
client = Sample.create_client()
get_space_headers = dingtalkstorage__1__0_models.GetSpaceHeaders()
get_space_headers.x_acs_dingtalk_access_token = '<your access token>'
get_space_request = dingtalkstorage__1__0_models.GetSpaceRequest(
union_id='cxUXxxxxxx'
)
try:
client.get_space_with_options('854xxxxx', get_space_request, get_space_headers, util_models.RuntimeOptions())
except Exception as err:
if not UtilClient.empty(err.code) and not UtilClient.empty(err.message):
# err contains code and message attributes to help locate the issue
pass
if __name__ == '__main__':
Sample.main(sys.argv[1:])
#!/usr/bin/env xcrun swift
import Cocoa
import Foundation
import Tea
import TeaUtils
import AlibabacloudDingtalkstorage10
import AlibabacloudOpenApi
open class Client {
public static func createClient() throws -> AlibabacloudDingtalkstorage10.Client {
var config: AlibabacloudOpenApi.Config = AlibabacloudOpenApi.Config([:])
config.protocol_ = "https"
config.regionId = "central"
return AlibabacloudDingtalkstorage10.Client(config)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public static func main(_ args: [String]?) async throws -> Void {
var client: AlibabacloudDingtalkstorage10.Client = try Client.createClient()
var getSpaceHeaders: AlibabacloudDingtalkstorage10.GetSpaceHeaders = AlibabacloudDingtalkstorage10.GetSpaceHeaders([:])
getSpaceHeaders.xAcsDingtalkAccessToken = "<your access token>"
var getSpaceRequest: AlibabacloudDingtalkstorage10.GetSpaceRequest = AlibabacloudDingtalkstorage10.GetSpaceRequest([
"unionId": "cxUXxxxxxx"
])
do {
try await client.getSpaceWithOptions("854xxxxx", getSpaceRequest as! AlibabacloudDingtalkstorage10.GetSpaceRequest, getSpaceHeaders as! AlibabacloudDingtalkstorage10.GetSpaceHeaders, TeaUtils.RuntimeOptions([:]))
}
catch {
if error is Tea.TeaError {
var err = error as! Tea.TeaError
if (!TeaUtils.Client.empty(err.code) && !TeaUtils.Client.empty(err.message)) {
}
} else {
throw error
}
}
}
}
Client.main(CommandLine.arguments)
Respons
Isi respons
| Nama | Tipe | Deskripsi |
|---|---|---|
| space | Object | Detail ruang. |
| id | String | ID ruang. |
| corpId | String | ID organisasi tempat ruang berada. |
| creatorId | String | unionId dari pembuat. |
| ownerType | String | Tipe pemilik. - USER: Tipe pengguna - APP: Tipe aplikasi |
| ownerId | String | Pengenal pemilik. |
| modifierId | String | unionId dari pengubah. |
| usedQuota | Long | Kuota yang digunakan, dalam byte. |
| quota | Long | Total kuota, dalam byte. |
| status | String | Status ruang. - NORMAL: Normal - DELETE: Dihapus |
| createTime | String | Waktu pembuatan, dalam format ISO 8601. Contoh, 2022-07-29T14:55Z. |
| modifiedTime | String | Waktu pengubahan, dalam format ISO 8601. Contoh, 2022-07-29T14:55Z. |
| appId | String | appId dari aplikasi Open Platform. |
| scene | String | Skenario bisnis. |
| sceneId | String | ID skenario. |
| capabilities | Object | Item kemampuan ruang. |
| canSearch | Boolean | Menunjukkan apakah pencarian didukung. - true: Didukung - false: Tidak didukung |
| canRename | Boolean | Menunjukkan apakah pengubahan nama ruang didukung. - true: Didukung - false: Tidak didukung |
| canRecordRecentFile | Boolean | Menunjukkan apakah penambahan ke daftar Baru Digunakan didukung. - true: Didukung - false: Tidak didukung |
| name | String | Nama ruang. |
| partitions | Array | Informasi kuota partisi. Nilai maksimum: 2. |
| partitionType | String | Tipe partisi. - PUBLIC_OSS_PARTITION: Partisi penyimpanan Public Cloud OSS - MINI_OSS_PARTITION: Partisi penyimpanan Dedicated Mini OSS |
| quota | Object | Informasi kuota. |
| used | Long | Kuota yang benar-benar digunakan, dalam byte. Nilai minimum: 0. Menunjukkan total kuota yang dikonsumsi oleh file di dalam aplikasi. Mengunggah, menyalin, dan menghapus file akan memperbarui nilai used secara sesuai. |
| max | Long | Kuota maksimum, dalam byte. - Ketika kuota aplikasi saat ini disetel ke max, kuota aplikasi memiliki batas atas, dan nilai used tidak boleh melebihi nilai max. - Ketika kuota aplikasi saat ini tidak disetel ke max, nilainya kosong. Dalam hal ini, aplikasi berbagi sisa kuota yang tersedia milik organisasi. |
| reserved | Long | Sisa kuota yang telah dialokasikan sebelumnya, dalam byte. Admin console dapat mengalokasikan kuota terlebih dahulu ke aplikasi atau ruang. Bidang ini menunjukkan sisa kuota yang telah dialokasikan sebelumnya, yaitu bagian yang belum digunakan dari kuota yang telah dialokasikan. Jika tidak ada kuota yang dialokasikan sebelumnya, bidang ini kosong. |
| type | String | Tipe kuota. - SHARE: Kuota bersama. Dalam mode ini, Quota.max kosong, yang menunjukkan bahwa kuota organisasi digunakan bersama. - PRIVATE: Kuota yang dialokasikan sebelumnya (kuota khusus). Dalam mode ini, setelah Quota.max disetel, kuota bersifat eksklusif. Gunakan kuota yang dialokasikan sebelumnya (kuota khusus) ketika Anda perlu memastikan bahwa kuota yang tersedia untuk satu aplikasi tidak terpengaruh oleh aplikasi lain. |
Contoh isi respons
HTTP/1.1 200 OK
Content-Type:application/json
{
"space" : {
"id" : "854xxxxx",
"corpId" : "ding12345",
"creatorId" : "cHtUYxxxxx",
"ownerType" : "USER",
"ownerId" : "cHtUYxxxxx",
"modifierId" : "xxxxx",
"usedQuota" : 1024,
"quota" : 1048576,
"status" : "NORMAL",
"createTime" : "2022-01-01T10:00:00Z",
"modifiedTime" : "2022-01-01T10:00:00Z",
"appId" : "app_id",
"scene" : "scene",
"sceneId" : "123",
"capabilities" : {
"canSearch" : true,
"canRename" : true,
"canRecordRecentFile" : true
},
"name" : "Ruang uji",
"partitions" : [ {
"partitionType" : "PUBLIC_OSS_PARTITION",
"quota" : {
"used" : 1024,
"max" : 10000,
"reserved" : 1000,
"type" : "SHARE"
}
} ]
}
}
Kode error
Jika error dikembalikan saat Anda memanggil API ini, temukan solusinya di dokumen Kode error global berdasarkan pesan error.| HttpCode | Kode error | Pesan error | Deskripsi |
|---|---|---|---|
| 400 | paramError | %s | Error parameter |
| 403 | permissionDenied | %s | Pengguna tidak memiliki izin untuk mendapatkan informasi ruang |
| 404 | spaceNotExist | %s | Ruang tidak ada |
| 500 | systemError | %s | Error sistem |
| 500 | unknownError | Unknown Error | Error tidak diketahui |
| 503 | operationTimeout | %s | Permintaan timeout |