Permintaan
Informasi dasar
| Bidang | Nilai |
|---|---|
| URL HTTP | https://api.dingtalk.io/v1.0/calendar/users/{userId}/subscribedCalendars |
| Metode HTTP | POST |
| Tipe aplikasi yang didukung | appType-Aplikasi internal appType-Aplikasi perusahaan pihak ketiga appType-Aplikasi personal pihak ketiga |
| Izin yang diperlukan | permission-Calendar.Calendar.Write-Izin tulis untuk aplikasi Calendar |
Header permintaan
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| x-acs-dingtalk-access-token | String | Ya | Kredensial akses yang digunakan 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 perusahaan yang mengotorisasi aplikasi pihak ketiga. - Untuk aplikasi personal pihak ketiga, panggil API Mendapatkan user token. |
Parameter path
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| userId | String | Ya | unionId dari pembuat kalender. - Untuk aplikasi internal atau aplikasi perusahaan pihak ketiga, panggil API Mengkueri detail pengguna untuk mendapatkan nilai parameter unionid. - Untuk aplikasi personal pihak ketiga, panggil API Mendapatkan profil kontak pengguna untuk mendapatkan nilai parameter unionId. |
Isi permintaan
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| name | String | Ya | Nama kalender langganan. |
| description | String | Tidak | Deskripsi kalender langganan. Panjang maksimum: 1.024 karakter. |
| managers | Array of String | Tidak | Nilai unionId dari co-editor kalender langganan. - Untuk aplikasi internal atau aplikasi perusahaan pihak ketiga, panggil API Mengkueri detail pengguna untuk mendapatkan nilai parameter unionid. - Untuk aplikasi personal pihak ketiga, panggil API Mendapatkan profil kontak pengguna untuk mendapatkan nilai parameter unionId. |
| subscribeScope | Object | Ya | Objek yang dapat berlangganan kalender ini. |
| unionIds | Array of String | Tidak | Nilai unionId dari pengguna yang dapat berlangganan kalender ini. - Untuk aplikasi internal atau aplikasi perusahaan pihak ketiga, panggil API Mengkueri detail pengguna untuk mendapatkan nilai parameter unionid. - Untuk aplikasi personal pihak ketiga, panggil API Mendapatkan profil kontak pengguna untuk mendapatkan nilai parameter unionId. |
| openConversationIds | Array of String | Tidak | Daftar OpenConversationId dari grup yang dapat berlangganan kalender ini. - Untuk aplikasi internal, panggil API Mendapatkan OpenConversationId dari obrolan grup untuk mendapatkan nilai parameter openConversationId. - Untuk aplikasi perusahaan pihak ketiga, panggil API Membuat grup untuk mendapatkan nilai parameter open_conversation_id. - unionId pembuat acara harus termasuk dalam grup yang ditentukan di openConversationIds atau dalam organisasi yang ditentukan di corpIds. - Parameter ini tidak diperlukan untuk aplikasi personal pihak ketiga. |
| corpIds | Array of String | Tidak | Daftar corpId organisasi yang dapat berlangganan kalender ini. Masuk ke DingTalk Developer Console dan lihat ID organisasi Anda di halaman Beranda. unionId pembuat acara harus termasuk dalam organisasi yang ditentukan oleh corpId atau dalam grup yang ditentukan di openConversationIds. |
Contoh permintaan
HTTPPOST /v1.0/calendar/users/iiiP35sJadba8aBSgjrwPRKgiEiF/subscribedCalendars HTTP/1.1
Host:api.dingtalk.io
x-acs-dingtalk-access-token:cnNTbW1YbU9sL2p6aFJZdEgvdlQrQT01
Content-Type:application/json
{
"name" : "Festival Tradisional Tiongkok",
"description" : "Festival Tradisional Tiongkok",
"managers" : [ "iiiP35sJadba8aBSgjrwPRKgiEiF" ],
"subscribeScope" : {
"unionIds" : [ "iiiP35sJadba8aBSgjrwPRKgiEiF" ],
"openConversationIds" : [ "cidvrURjEqVe8xxxxxxx" ],
"corpIds" : [ "dingz0xc7v89789asasdf" ]
}
}
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sample;
import com.aliyun.tea.*;
import com.aliyun.teautil.*;
import com.aliyun.teautil.models.*;
import com.aliyun.dingtalkcalendar_1_0.*;
import com.aliyun.dingtalkcalendar_1_0.models.*;
import com.aliyun.teaopenapi.*;
import com.aliyun.teaopenapi.models.*;
public class Sample {
/**
* Inisialisasi Client akun menggunakan Token
* @return Client
* @throws Exception
*/
public static com.aliyun.dingtalkcalendar_1_0.Client createClient() throws Exception {
Config config = new Config();
config.protocol = "https";
config.regionId = "central";
return new com.aliyun.dingtalkcalendar_1_0.Client(config);
}
public static void main(String[] args_) throws Exception {
java.util.List<String> args = java.util.Arrays.asList(args_);
com.aliyun.dingtalkcalendar_1_0.Client client = Sample.createClient();
CreateSubscribedCalendarHeaders createSubscribedCalendarHeaders = new CreateSubscribedCalendarHeaders();
createSubscribedCalendarHeaders.xAcsDingtalkAccessToken = "<your access token>";
CreateSubscribedCalendarRequest.CreateSubscribedCalendarRequestSubscribeScope subscribeScope = new CreateSubscribedCalendarRequest.CreateSubscribedCalendarRequestSubscribeScope()
.setUnionIds(java.util.Arrays.asList(
"iiiP35sJadba8aBSgjrwPRKgiEiF"
))
.setOpenConversationIds(java.util.Arrays.asList(
"cidvrURjEqVe8xxxxxxx"
))
.setCorpIds(java.util.Arrays.asList(
"dingz0xc7v89789asasdf"
));
CreateSubscribedCalendarRequest createSubscribedCalendarRequest = new CreateSubscribedCalendarRequest()
.setName("Festival Tradisional Tiongkok")
.setDescription("Festival Tradisional Tiongkok")
.setManagers(java.util.Arrays.asList(
"iiiP35sJadba8aBSgjrwPRKgiEiF"
))
.setSubscribeScope(subscribeScope);
try {
client.createSubscribedCalendarWithOptions("iiiP35sJadba8aBSgjrwPRKgiEiF", createSubscribedCalendarRequest, createSubscribedCalendarHeaders, new RuntimeOptions());
} catch (TeaException err) {
if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) {
// err berisi atribut code dan message yang membantu pemecahan masalah
}
} 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 atribut code dan message yang membantu pemecahan masalah
}
}
}
}
# -*- coding: utf-8 -*-
# This file is auto-generated, don't edit it. Thanks.
import sys
from typing import List
from alibabacloud_dingtalk.calendar_1_0.client import Client as dingtalkcalendar_1_0Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_dingtalk.calendar_1_0 import models as dingtalkcalendar__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() -> dingtalkcalendar_1_0Client:
"""
Inisialisasi Client akun menggunakan Token
@return: Client
@throws Exception
"""
config = open_api_models.Config()
config.protocol = 'https'
config.region_id = 'central'
return dingtalkcalendar_1_0Client(config)
@staticmethod
def main(
args: List[str],
) -> None:
client = Sample.create_client()
create_subscribed_calendar_headers = dingtalkcalendar__1__0_models.CreateSubscribedCalendarHeaders()
create_subscribed_calendar_headers.x_acs_dingtalk_access_token = '<your access token>'
subscribe_scope = dingtalkcalendar__1__0_models.CreateSubscribedCalendarRequestSubscribeScope(
union_ids=[
'iiiP35sJadba8aBSgjrwPRKgiEiF'
],
open_conversation_ids=[
'cidvrURjEqVe8xxxxxxx'
],
corp_ids=[
'dingz0xc7v89789asasdf'
]
)
create_subscribed_calendar_request = dingtalkcalendar__1__0_models.CreateSubscribedCalendarRequest(
name='Festival Tradisional Tiongkok',
description='Festival Tradisional Tiongkok',
managers=[
'iiiP35sJadba8aBSgjrwPRKgiEiF'
],
subscribe_scope=subscribe_scope
)
try:
client.create_subscribed_calendar_with_options('iiiP35sJadba8aBSgjrwPRKgiEiF', create_subscribed_calendar_request, create_subscribed_calendar_headers, util_models.RuntimeOptions())
except Exception as err:
if not UtilClient.empty(err.code) and not UtilClient.empty(err.message):
# err berisi atribut code dan message yang membantu pemecahan masalah
pass
@staticmethod
async def main_async(
args: List[str],
) -> None:
client = Sample.create_client()
create_subscribed_calendar_headers = dingtalkcalendar__1__0_models.CreateSubscribedCalendarHeaders()
create_subscribed_calendar_headers.x_acs_dingtalk_access_token = '<your access token>'
subscribe_scope = dingtalkcalendar__1__0_models.CreateSubscribedCalendarRequestSubscribeScope(
union_ids=[
'iiiP35sJadba8aBSgjrwPRKgiEiF'
],
open_conversation_ids=[
'cidvrURjEqVe8xxxxxxx'
],
corp_ids=[
'dingz0xc7v89789asasdf'
]
)
create_subscribed_calendar_request = dingtalkcalendar__1__0_models.CreateSubscribedCalendarRequest(
name='Festival Tradisional Tiongkok',
description='Festival Tradisional Tiongkok',
managers=[
'iiiP35sJadba8aBSgjrwPRKgiEiF'
],
subscribe_scope=subscribe_scope
)
try:
await client.create_subscribed_calendar_with_options_async('iiiP35sJadba8aBSgjrwPRKgiEiF', create_subscribed_calendar_request, create_subscribed_calendar_headers, util_models.RuntimeOptions())
except Exception as err:
if not UtilClient.empty(err.code) and not UtilClient.empty(err.message):
# err berisi atribut code dan message yang membantu pemecahan masalah
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\Vcalendar_1_0\Dingtalk;
use \Exception;
use AlibabaCloud\Tea\Exception\TeaError;
use AlibabaCloud\Tea\Utils\Utils;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Dingtalk\Vcalendar_1_0\Models\CreateSubscribedCalendarHeaders;
use AlibabaCloud\SDK\Dingtalk\Vcalendar_1_0\Models\CreateSubscribedCalendarRequest\subscribeScope;
use AlibabaCloud\SDK\Dingtalk\Vcalendar_1_0\Models\CreateSubscribedCalendarRequest;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
class Sample {
/**
* Inisialisasi Client akun menggunakan 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();
$createSubscribedCalendarHeaders = new CreateSubscribedCalendarHeaders([]);
$createSubscribedCalendarHeaders->xAcsDingtalkAccessToken = "<your access token>";
$subscribeScope = new subscribeScope([
"unionIds" => [
"iiiP35sJadba8aBSgjrwPRKgiEiF"
],
"openConversationIds" => [
"cidvrURjEqVe8xxxxxxx"
],
"corpIds" => [
"dingz0xc7v89789asasdf"
]
]);
$createSubscribedCalendarRequest = new CreateSubscribedCalendarRequest([
"name" => "Festival Tradisional Tiongkok",
"description" => "Festival Tradisional Tiongkok",
"managers" => [
"iiiP35sJadba8aBSgjrwPRKgiEiF"
],
"subscribeScope" => $subscribeScope
]);
try {
$client->createSubscribedCalendarWithOptions("iiiP35sJadba8aBSgjrwPRKgiEiF", $createSubscribedCalendarRequest, $createSubscribedCalendarHeaders, 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 atribut code dan message yang membantu pemecahan masalah
}
}
}
}
$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/service"
dingtalkcalendar_1_0 "github.com/alibabacloud-go/dingtalk/calendar_1_0"
openapi "github.com/alibabacloud-go/darabonba-openapi/client"
"github.com/alibabacloud-go/tea/tea"
)
/**
* Inisialisasi Client akun menggunakan Token
* @return Client
* @throws Exception
*/
func CreateClient () (_result *dingtalkcalendar_1_0.Client, _err error) {
config := &openapi.Config{}
config.Protocol = tea.String("https")
config.RegionId = tea.String("central")
_result = &dingtalkcalendar_1_0.Client{}
_result, _err = dingtalkcalendar_1_0.NewClient(config)
return _result, _err
}
func _main (args []*string) (_err error) {
client, _err := CreateClient()
if _err != nil {
return _err
}
createSubscribedCalendarHeaders := &dingtalkcalendar_1_0.CreateSubscribedCalendarHeaders{}
createSubscribedCalendarHeaders.XAcsDingtalkAccessToken = tea.String("<your access token>")
subscribeScope := &dingtalkcalendar_1_0.CreateSubscribedCalendarRequestSubscribeScope{
UnionIds: []*string{tea.String("iiiP35sJadba8aBSgjrwPRKgiEiF")},
OpenConversationIds: []*string{tea.String("cidvrURjEqVe8xxxxxxx")},
CorpIds: []*string{tea.String("dingz0xc7v89789asasdf")},
}
createSubscribedCalendarRequest := &dingtalkcalendar_1_0.CreateSubscribedCalendarRequest{
Name: tea.String("Festival Tradisional Tiongkok"),
Description: tea.String("Festival Tradisional Tiongkok"),
Managers: []*string{tea.String("iiiP35sJadba8aBSgjrwPRKgiEiF")},
SubscribeScope: subscribeScope,
}
tryErr := func()(_e error) {
defer func() {
if r := tea.Recover(recover()); r != nil {
_e = r
}
}()
_, _err = client.CreateSubscribedCalendarWithOptions(tea.String("iiiP35sJadba8aBSgjrwPRKgiEiF"), createSubscribedCalendarRequest, createSubscribedCalendarHeaders, &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 atribut code dan message yang membantu pemecahan masalah
}
}
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 dingtalkcalendar_1_0, * as $dingtalkcalendar_1_0 from '@alicloud/dingtalk/calendar_1_0';
import OpenApi, * as $OpenApi from '@alicloud/openapi-client';
import * as $tea from '@alicloud/tea-typescript';
export default class Client {
/**
* Inisialisasi Client akun menggunakan Token
* @return Client
* @throws Exception
*/
static createClient(): dingtalkcalendar_1_0 {
let config = new $OpenApi.Config({ });
config.protocol = "https";
config.regionId = "central";
return new dingtalkcalendar_1_0(config);
}
static async main(args: string[]): Promise<void> {
let client = Client.createClient();
let createSubscribedCalendarHeaders = new $dingtalkcalendar_1_0.CreateSubscribedCalendarHeaders({ });
createSubscribedCalendarHeaders.xAcsDingtalkAccessToken = "<your access token>";
let subscribeScope = new $dingtalkcalendar_1_0.CreateSubscribedCalendarRequestSubscribeScope({
unionIds: [
"iiiP35sJadba8aBSgjrwPRKgiEiF"
],
openConversationIds: [
"cidvrURjEqVe8xxxxxxx"
],
corpIds: [
"dingz0xc7v89789asasdf"
],
});
let createSubscribedCalendarRequest = new $dingtalkcalendar_1_0.CreateSubscribedCalendarRequest({
name: "Festival Tradisional Tiongkok",
description: "Festival Tradisional Tiongkok",
managers: [
"iiiP35sJadba8aBSgjrwPRKgiEiF"
],
subscribeScope: subscribeScope,
});
try {
await client.createSubscribedCalendarWithOptions("iiiP35sJadba8aBSgjrwPRKgiEiF", createSubscribedCalendarRequest, createSubscribedCalendarHeaders, new $Util.RuntimeOptions({ }));
} catch (err) {
if (!Util.empty(err.code) && !Util.empty(err.message)) {
// err berisi atribut code dan message yang membantu pemecahan masalah
}
}
}
}
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
{
/**
* Inisialisasi Client akun menggunakan Token
* @return Client
* @throws Exception
*/
public static AlibabaCloud.SDK.Dingtalkcalendar_1_0.Client CreateClient()
{
AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config();
config.Protocol = "https";
config.RegionId = "central";
return new AlibabaCloud.SDK.Dingtalkcalendar_1_0.Client(config);
}
public static void Main(string[] args)
{
AlibabaCloud.SDK.Dingtalkcalendar_1_0.Client client = CreateClient();
AlibabaCloud.SDK.Dingtalkcalendar_1_0.Models.CreateSubscribedCalendarHeaders createSubscribedCalendarHeaders = new AlibabaCloud.SDK.Dingtalkcalendar_1_0.Models.CreateSubscribedCalendarHeaders();
createSubscribedCalendarHeaders.XAcsDingtalkAccessToken = "<your access token>";
AlibabaCloud.SDK.Dingtalkcalendar_1_0.Models.CreateSubscribedCalendarRequest.CreateSubscribedCalendarRequestSubscribeScope subscribeScope = new AlibabaCloud.SDK.Dingtalkcalendar_1_0.Models.CreateSubscribedCalendarRequest.CreateSubscribedCalendarRequestSubscribeScope
{
UnionIds = new List<string>
{
"iiiP35sJadba8aBSgjrwPRKgiEiF"
},
OpenConversationIds = new List<string>
{
"cidvrURjEqVe8xxxxxxx"
},
CorpIds = new List<string>
{
"dingz0xc7v89789asasdf"
},
};
AlibabaCloud.SDK.Dingtalkcalendar_1_0.Models.CreateSubscribedCalendarRequest createSubscribedCalendarRequest = new AlibabaCloud.SDK.Dingtalkcalendar_1_0.Models.CreateSubscribedCalendarRequest
{
Name = "Festival Tradisional Tiongkok",
Description = "Festival Tradisional Tiongkok",
Managers = new List<string>
{
"iiiP35sJadba8aBSgjrwPRKgiEiF"
},
SubscribeScope = subscribeScope,
};
try
{
client.CreateSubscribedCalendarWithOptions("iiiP35sJadba8aBSgjrwPRKgiEiF", createSubscribedCalendarRequest, createSubscribedCalendarHeaders, new AlibabaCloud.TeaUtil.Models.RuntimeOptions());
}
catch (TeaException err)
{
if (!AlibabaCloud.TeaUtil.Common.Empty(err.Code) && !AlibabaCloud.TeaUtil.Common.Empty(err.Message))
{
// err berisi atribut code dan message yang membantu pemecahan masalah
}
}
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 atribut code dan message yang membantu pemecahan masalah
}
}
}
}
}
Respons
Isi respons
| Nama | Tipe | Deskripsi |
|---|---|---|
| calendarId | String | ID kalender langganan. |
Contoh isi respons
HTTP/1.1 200 OK
Content-Type:application/json
{
"calendarId" : "M5MjkxNDUxQHVzZXJzLmRpbmd0YWxrLmxxxxxxx"
}
Kode error
Jika panggilan API mengembalikan error, lihat dokumen Kode error global untuk menemukan solusi berdasarkan pesan error.| HttpCode | Kode error | Pesan error | Deskripsi |
|---|---|---|---|
| 400 | invalidParameter | forwardErrorMessage | Parameter tidak valid |
| 400 | invalidParameter | calendar name cannot be blank | Nama kalender tidak boleh kosong |
| 400 | invalidParameter | calendar name length must less than 128 | Nama kalender tidak boleh melebihi 128 karakter |
| 400 | invalidParameter | subscribe range cannot be null | Rentang langganan tidak boleh kosong |
| 400 | invalidParameter | current user must in range | Pengguna saat ini harus berada dalam grup dan organisasi terkait |
| 403 | permissionDenied | permission denied | Autentikasi gagal |