FastComments.com

FastComments C++ SDK

これは FastComments の公式 C++ SDK です。

FastComments API の公式 C++ SDK

リポジトリ

GitHub 上で表示

AI コーディングエージェント Internal Link

skills.sh

FastComments のコンテキスト(ウィジェット、設定、Secure SSO、REST API、SDK)をコーディングエージェントに提供します:

npx skills add fastcomments/skills

Claude Code、Codex、Cursor、Copilot、Gemini、そして他のすべてのエージェントで、skills CLI がサポートしています。

要件 Internal Link

  • C++17 以降
  • CMake 3.14 以降
  • OpenSSL
  • C++ REST SDK (cpprestsdk)
  • Boost
  • Google Test (テストのために自動的にダウンロードされます)

インストール Internal Link

依存関係のインストール

sudo apt install libcpprest-dev libboost-all-dev

ソースからのビルド

mkdir build
cd build
cmake ..
make

インストール

sudo make install

ライブラリの内容

このライブラリには、生成された API クライアントと、API の操作を容易にする SSO ユーティリティが含まれています。

公開 API と保護された API

API クライアントには、DefaultApi、PublicApi、ModerationApi の 3 つのクラスがあります。DefaultApi には API キーが必要なメソッドが含まれ、PublicApi には 認証なしでブラウザやモバイルデバイス等から直接呼び出せるメソッドが含まれます。ModerationApi は、ライブかつ高速な多数のモデレーション API を提供します。すべての ModerationApi メソッドは sso パラメータを受け取り、SSO または FastComments.com のセッションクッキーで認証できます。

ノート Internal Link

ブロードキャストID

一部のAPI呼び出しでは broadcastId を渡す必要があります。イベントを受信すると、このIDが返されるので、クライアント側で楽観的に変更を適用する場合(最高のユーザー体験を提供できるため、おそらくそうするでしょう)、そのイベントを無視すべきかどうかを判断できます。ここにはUUIDを渡してください。このIDは、1つのブラウザセッション内で重複しない程度に一意である必要があります。

SSO (シングルサインオン)

SSOの例については、以下を参照してください。

SSOの使用 Internal Link

シンプル SSO

#include <fastcomments/sso/fastcomments_sso.hpp>
#include <iostream>

using namespace fastcomments::sso;

int main() {
    SimpleSSOUserData user("user-123", "user@example.com", "https://example.com/avatar.jpg");
    FastCommentsSSO sso = FastCommentsSSO::newSimple(user);
    std::string token = sso.createToken();

    std::cout << "SSO Token: " << token << std::endl;
    return 0;
}

セキュア SSO

#include <fastcomments/sso/fastcomments_sso.hpp>
#include <iostream>

using namespace fastcomments::sso;

int main() {
    SecureSSOUserData user("user-123", "user@example.com", "johndoe", "https://example.com/avatar.jpg");

    std::string apiKey = "your-api-key";
    FastCommentsSSO sso = FastCommentsSSO::newSecure(apiKey, user);
    std::string token = sso.createToken();

    std::cout << "Secure SSO Token: " << token << std::endl;
    return 0;
}

集計 Internal Link

Aggregates documents by grouping them (if groupBy is provided) and applying multiple operations. Different operations (e.g. sum, countDistinct, avg, etc.) are supported.

パラメータ

名前型必須説明
tenantIdstringYes
aggregationRequestAggregationRequestYes
optionsconst AggregateOptions&Yes

応答

Returns: AggregateResponse

例

集計例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3
4AggregationRequest aggregationRequest;
5aggregationRequest.setMetric(U("commentCount"));
6aggregationRequest.setStartDate(U("2023-01-01T00:00:00Z"));
7aggregationRequest.setEndDate(U("2023-12-31T23:59:59Z"));
8aggregationRequest.setFilters({ U("status:approved") });
9
10AggregateOptions options;
11options.limit = boost::optional<int>(100);
12options.includeMetadata = boost::optional<bool>(true);
13
14api->aggregate(tenantId, aggregationRequest, options)
15 .then([](pplx::task<std::shared_ptr<AggregateResponse>> task) {
16 try {
17 auto response = task.get();
18 // レスポンスを処理する
19 } catch (const std::exception& e) {
20 // エラーを処理する
21 }
22 });
23

監査ログ取得 Internal Link

Parameters

名前型必須説明
tenantIdstringはい
optionsconst GetAuditLogsOptions&はい

Response

戻り値: GetAuditLogsResponse

Example

getAuditLogs の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3
4GetAuditLogsOptions options;
5options.startDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-01T00:00:00Z"), utility::datetime::RFC_1123));
6options.endDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-31T23:59:59Z"), utility::datetime::RFC_1123));
7options.limit = boost::optional<int>(100);
8
9api->getAuditLogs(tenantId, options).then([](pplx::task<std::shared_ptr<GetAuditLogsResponse>> t) {
10 try {
11 auto response = t.get();
12 // 応答を使用する
13 } catch (const std::exception& e) {
14 // エラーを処理する
15 }
16});
17

公開ログアウト Internal Link

レスポンス

返却: APIEmptyResponse

例

logoutPublic の例
Copy Copy
1
2api->logoutPublic()
3 .then([](std::shared_ptr<APIEmptyResponse> /*resp*/) {
4 std::cout << "Logout successful\n";
5 })
6 .then([](pplx::task<void> t) {
7 try {
8 t.get();
9 } catch (const std::exception& e) {
10 std::cerr << "Logout failed: " << e.what() << std::endl;
11 }
12 });
13

コメントからブロック(公開) Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
commentIdstringYes
publicBlockFromCommentParamsPublicBlockFromCommentParamsYes
ssostringNo

レスポンス

戻り値: BlockSuccess

例

blockFromCommentPublic の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-987654");
4PublicBlockFromCommentParams blockParams;
5blockParams.reason = utility::conversions::to_string_t("spam");
6blockParams.durationHours = 24;
7boost::optional<utility::string_t> sso = utility::conversions::to_string_t("sso-token-abc123");
8api->blockFromCommentPublic(tenantId, commentId, blockParams, sso)
9 .then([](std::shared_ptr<BlockSuccess> result){
10 auto successCopy = std::make_shared<BlockSuccess>(*result);
11 });
12

コメントブロック解除(公開) Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
publicBlockFromCommentParamsPublicBlockFromCommentParamsはい
ssostringいいえ

応答

返り値: UnblockSuccess

例

unBlockCommentPublic 例
Copy Copy
1
2auto blockParams = PublicBlockFromCommentParams();
3blockParams.reason = U("spam");
4api->unBlockCommentPublic(
5 U("my-tenant-123"),
6 U("comment-789"),
7 blockParams,
8 boost::optional<utility::string_t>(U("sso-token-abc"))
9).then([](std::shared_ptr<UnblockSuccess> result){ });
10

ブロックされたコメントのチェック Internal Link

パラメータ

名称型必須説明
tenantIdstringはい
commentIdsstringはい
ssostringいいえ

レスポンス

返却: CheckBlockedCommentsResponse

例

checkedCommentsForBlocked の例
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto commentIds = U("cmt-001,cmt-002");
4boost::optional<utility::string_t> sso = U("user@example.com");
5
6api->checkedCommentsForBlocked(tenantId, commentIds, sso).then([](std::shared_ptr<CheckBlockedCommentsResponse> resp){
7 (void)resp;
8});
9

コメントからユーザーをブロック Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes
blockFromCommentParamsBlockFromCommentParamsYes
optionsconst BlockUserFromCommentOptions&Yes

応答

戻り値: BlockSuccess

例

blockUserFromComment 例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-789");
4BlockFromCommentParams params;
5params.reason = utility::conversions::to_string_t("Inappropriate content");
6params.durationDays = boost::optional<int>(30);
7BlockUserFromCommentOptions options;
8options.notifyUser = boost::optional<bool>(true);
9
10api->blockUserFromComment(tenantId, commentId, params, options)
11 .then([](std::shared_ptr<BlockSuccess> result){ })
12 .then([](pplx::task<void> t){ try { t.get(); } catch (const std::exception&) { } });
13

公開コメント作成 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
urlIdstringYes
broadcastIdstringYes
commentDataCommentDataYes
optionsconst CreateCommentPublicOptions&Yes

レスポンス

戻り値: SaveCommentsResponseWithPresence

例

createCommentPublic の例
Copy Copy
1
2auto comment = CommentData();
3comment.body = U("This is a test comment");
4comment.authorName = U("John Doe");
5comment.authorEmail = U("john.doe@example.com");
6
7CreateCommentPublicOptions opts;
8opts.replyToCommentId = boost::optional<utility::string_t>(U("parent-123"));
9
10api->createCommentPublic(
11 U("my-tenant-123"),
12 U("article-456"),
13 U("broadcast-789"),
14 comment,
15 opts).then([](std::shared_ptr<SaveCommentsResponseWithPresence> res){
16 auto commentId = res->commentId;
17 });
18

コメント削除 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
idstringはい
optionsconst DeleteCommentOptions&はい

レスポンス

返却: DeleteCommentResult

例

deleteComment の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-789");
4DeleteCommentOptions options;
5options.reason = boost::optional<utility::string_t>(utility::conversions::to_string_t("Inappropriate content"));
6options.force = boost::optional<bool>(true);
7api->deleteComment(tenantId, commentId, options).then([](pplx::task<std::shared_ptr<DeleteCommentResult>> task){
8 try{
9 auto result = task.get();
10 }catch(const std::exception&){
11 }
12});
13

公開コメント削除 Internal Link

Parameters

名前型必須説明
tenantIdstringはい
commentIdstringはい
broadcastIdstringはい
optionsconst DeleteCommentPublicOptions&はい

Response

返却: PublicAPIDeleteCommentResponse

Example

deleteCommentPublic の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto commentId = utility::string_t(U("comment-456"));
4auto broadcastId = utility::string_t(U("broadcast-789"));
5DeleteCommentPublicOptions options;
6options.force = boost::optional<bool>(true);
7options.reason = boost::optional<utility::string_t>(U("Inappropriate content"));
8api->deleteCommentPublic(tenantId, commentId, broadcastId, options)
9 .then([](pplx::task<std::shared_ptr<PublicAPIDeleteCommentResponse>> t){
10 try{
11 auto resp = t.get();
12 }catch(const std::exception& e){
13 }
14 });
15

コメント投票削除 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
commentIdstringYes
voteIdstringYes
urlIdstringYes
broadcastIdstringYes
optionsconst DeleteCommentVoteOptions&Yes

応答

戻り値: VoteDeleteResponse

例

deleteCommentVote 例
Copy Copy
1
2auto options = DeleteCommentVoteOptions{};
3options.reason = boost::optional<utility::string_t>(U("spam"));
4options.adminOverride = boost::optional<bool>(true);
5
6api->deleteCommentVote(
7 U("my-tenant-123"),
8 U("cmt-456789"),
9 U("vote-987"),
10 U("url-abc123"),
11 U("broadcast-001"),
12 options
13).then([](std::shared_ptr<VoteDeleteResponse> resp){
14 if (resp) {
15 std::cout << "Deleted vote, code: " << resp->code << std::endl;
16 }
17});
18

コメントにフラグ付け Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes
optionsconst FlagCommentOptions&Yes

レスポンス

戻り値: FlagCommentResponse

例

flagComment 例
Copy Copy
1
2auto opts = std::make_shared<FlagCommentOptions>();
3opts->reason = utility::conversions::to_string_t("spam");
4opts->note = boost::optional<utility::string_t>(utility::conversions::to_string_t("User posted duplicate links"));
5
6api->flagComment(utility::conversions::to_string_t("my-tenant-123"),
7 utility::conversions::to_string_t("comment-456"),
8 *opts)
9 .then([](pplx::task<std::shared_ptr<FlagCommentResponse>> t) {
10 auto resp = t.get();
11 });
12

コメント取得 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringはい
idstringはい

レスポンス

返却: APIGetCommentResponse

例

getComment の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-456");
4boost::optional<int> maxDepth = boost::none;
5api->getComment(tenantId, commentId).then([](pplx::task<std::shared_ptr<APIGetCommentResponse>> t){
6 try{
7 auto resp = t.get();
8 }catch(const std::exception&){
9 }
10});
11

コメント一覧取得 Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetCommentsOptions&Yes

Response

返却: APIGetCommentsResponse

Example

getComments の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetCommentsOptions options;
4options.page = 1;
5options.limit = 50;
6options.sort = U("newest");
7options.authorEmail = boost::optional<utility::string_t>(U("user@example.com"));
8api->getComments(tenantId, options).then([](pplx::task<std::shared_ptr<APIGetCommentsResponse>> task) {
9 try {
10 auto response = task.get();
11 // 必要に応じてレスポンスを使用
12 } catch (const std::exception& e) {
13 // エラーを処理
14 }
15});
16

公開コメント一覧取得 Internal Link

req tenantId urlId

パラメータ

名前型必須説明
tenantIdstringはい
urlIdstringはい
optionsconst GetCommentsPublicOptions&はい

レスポンス

戻り値: GetCommentsResponseWithPresence_PublicComment_

例

getCommentsPublic の例
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto urlId = U("article-456");
4GetCommentsPublicOptions opts;
5opts.pageSize = 20;
6opts.includeDeleted = false;
7api->getCommentsPublic(tenantId, urlId, opts).then([](std::shared_ptr<GetCommentsResponseWithPresence_PublicComment_> resp) {
8 (void)resp;
9});
10

コメントテキスト取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
optionsconst GetCommentTextOptions&はい

レスポンス

返却: PublicAPIGetCommentTextResponse

例

getCommentText の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-456789");
4auto options = std::make_shared<GetCommentTextOptions>();
5options->language = boost::optional<utility::string_t>(U("en"));
6options->includeDeleted = boost::optional<bool>(false);
7api->getCommentText(tenantId, commentId, *options).then([](pplx::task<std::shared_ptr<PublicAPIGetCommentTextResponse>> task){
8 try{
9 auto response = task.get();
10 (void)response;
11 }catch(...){}
12});
13

コメント投票ユーザー名取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
dirint32_tはい
ssostringいいえ

レスポンス

戻り値: GetCommentVoteUserNamesSuccessResponse

例

getCommentVoteUserNames の例
Copy Copy
1
2auto task = api->getCommentVoteUserNames(
3 utility::conversions::to_string_t("my-tenant-123"),
4 utility::conversions::to_string_t("comment-456"),
5 static_cast<int32_t>(1),
6 boost::optional<utility::string_t>(utility::conversions::to_string_t("sso-token"))
7).then([](pplx::task<std::shared_ptr<GetCommentVoteUserNamesSuccessResponse>> t){
8 try{
9 auto response = t.get();
10 }catch(const std::exception&){ }
11});
12

コメントロック Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

レスポンス

戻り値: APIEmptyResponse

例

lockComment の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-987");
4auto broadcastId = utility::conversions::to_string_t("broadcast-654");
5boost::optional<utility::string_t> sso = utility::conversions::to_string_t("sso-token-xyz");
6
7api->lockComment(tenantId, commentId, broadcastId, sso).then([](pplx::task<std::shared_ptr<APIEmptyResponse>> task){
8 try{
9 auto response = task.get();
10 }catch(const std::exception&){
11 }
12});
13

コメント固定 Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

レスポンス

返却: ChangeCommentPinStatusResponse

例

pinComment の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("comment-456");
4utility::string_t broadcastId = U("broadcast-789");
5boost::optional<utility::string_t> sso = U("sso-token-abc");
6
7api->pinComment(tenantId, commentId, broadcastId, sso)
8 .then([](pplx::task<std::shared_ptr<ChangeCommentPinStatusResponse>> task) {
9 try {
10 auto response = task.get();
11 } catch (const std::exception&) {
12 }
13 });
14

コメント保存 Internal Link

パラメーター

名前型必須説明
tenantIdstringYes
createCommentParamsCreateCommentParamsYes
optionsconst SaveCommentOptions&Yes

応答

返却: APISaveCommentResponse

例

saveComment の例
Copy Copy
1
2CreateCommentParams commentParams;
3commentParams.body = utility::string_t(U("Great article!"));
4commentParams.author = utility::string_t(U("jane.doe@example.com"));
5commentParams.parentId = boost::optional<utility::string_t>(utility::string_t(U("parent-789")));
6
7SaveCommentOptions options;
8options.preview = boost::optional<bool>(false);
9
10api->saveComment(utility::string_t(U("my-tenant-123")), commentParams, options)
11 .then([](std::shared_ptr<APISaveCommentResponse> response) {
12 auto commentId = response->commentId;
13 });
14

コメントテキスト設定 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
commentTextUpdateRequestCommentTextUpdateRequestYes
optionsconst SetCommentTextOptions&Yes

応答

戻り値: PublicAPISetCommentTextResponse

例

setCommentText の例
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto commentId = U("cmt-456");
4auto broadcastId = U("brd-789");
5
6CommentTextUpdateRequest updateReq;
7updateReq.text = U("Updated comment content");
8updateReq.isEdited = boost::make_optional(true);
9
10SetCommentTextOptions opts;
11opts.notifySubscribers = boost::make_optional(true);
12
13api->setCommentText(tenantId, commentId, broadcastId, updateReq, opts)
14 .then([](std::shared_ptr<PublicAPISetCommentTextResponse> resp) {
15 });
16

コメントからユーザーのブロック解除 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes
unBlockFromCommentParamsUnBlockFromCommentParamsYes
optionsconst UnBlockUserFromCommentOptions&Yes

レスポンス

返却: UnblockSuccess

例

unBlockUserFromComment の例
Copy Copy
1
2auto params = std::make_shared<UnBlockFromCommentParams>();
3params->commentId = U("cmt-12345");
4params->reason = U("resolved");
5UnBlockUserFromCommentOptions opts;
6opts.notifyUser = boost::optional<bool>(true);
7api->unBlockUserFromComment(U("my-tenant-123"), U("user-456"), *params, opts)
8 .then([](pplx::task<std::shared_ptr<UnblockSuccess>> t){
9 try{
10 auto result = t.get();
11 }catch(...){}
12 });
13

コメントフラグ解除 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes
optionsconst UnFlagCommentOptions&Yes

応答

返却: FlagCommentResponse

例

unFlagComment の例
Copy Copy
1
2auto options = UnFlagCommentOptions{};
3options.reason = boost::optional<utility::string_t>(U("Resolved by moderator"));
4api->unFlagComment(U("my-tenant-123"), U("comment-456"), options)
5 .then([](std::shared_ptr<FlagCommentResponse> response) {
6 if (response) {
7 auto status = response->status;
8 // 必要に応じてステータスを処理する
9 }
10 })
11 .then([](pplx::task<void> previous) {
12 try {
13 previous.get();
14 } catch (const std::exception& e) {
15 // エラーを処理する
16 }
17 });
18

コメントロック解除 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
broadcastIdstringはい
ssostringいいえ

応答

返却: APIEmptyResponse

例

unLockComment の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("cmt-456789");
4auto broadcastId = utility::conversions::to_string_t("broadcast-001");
5boost::optional<utility::string_t> sso = utility::conversions::to_string_t("john.doe@example.com");
6
7api->unLockComment(tenantId, commentId, broadcastId, sso).then([](pplx::task<std::shared_ptr<APIEmptyResponse>> task) {
8 try {
9 auto response = task.get();
10 } catch (const std::exception&) {
11 }
12});
13

コメント固定解除 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
broadcastIdstringはい
ssostringいいえ

応答

戻り値: ChangeCommentPinStatusResponse

例

unPinComment の例
Copy Copy
1
2auto task = api->unPinComment(
3 utility::conversions::to_string_t("my-tenant-123"),
4 utility::conversions::to_string_t("cmt-456789"),
5 utility::conversions::to_string_t("broadcast-001"),
6 boost::optional<utility::string_t>(utility::conversions::to_string_t("user@example.com"))
7);
8task.then([](std::shared_ptr<ChangeCommentPinStatusResponse> resp){
9 auto result = std::make_shared<ChangeCommentPinStatusResponse>(*resp);
10});
11

コメント更新 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
idstringはい
updatableCommentParamsUpdatableCommentParamsはい
optionsconst UpdateCommentOptions&はい

レスポンス

返却: APIEmptyResponse

例

updateComment の例
Copy Copy
1
2auto tenantId = utility::string_t("my-tenant-123");
3auto commentId = utility::string_t("cmt-789");
4UpdatableCommentParams updatable;
5updatable.body = utility::string_t("Edited comment content");
6updatable.isSpam = boost::optional<bool>(false);
7UpdateCommentOptions options;
8options.notify = boost::optional<bool>(true);
9api->updateComment(tenantId, commentId, updatable, options)
10 .then([](std::shared_ptr<APIEmptyResponse>) {})
11 .then([](pplx::task<void> t) { try { t.get(); } catch(const std::exception&) {} });
12

コメントに投票 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
urlIdstringはい
broadcastIdstringはい
voteBodyParamsVoteBodyParamsはい
optionsconst VoteCommentOptions&はい

レスポンス

返却: VoteResponse

例

voteComment の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-7890");
4auto urlId = utility::conversions::to_string_t("article-456");
5auto broadcastId = utility::conversions::to_string_t("broadcast-321");
6
7VoteBodyParams voteParams;
8voteParams.upvote = true;
9voteParams.note = boost::optional<utility::string_t>(utility::conversions::to_string_t("Great insight"));
10
11VoteCommentOptions options;
12options.dryRun = boost::optional<bool>(false);
13
14api->voteComment(tenantId, commentId, urlId, broadcastId, voteParams, options)
15 .then([](pplx::task<std::shared_ptr<VoteResponse>> t) {
16 try {
17 auto response = t.get();
18 // 応答を処理
19 } catch (const std::exception&) {
20 }
21 });
22

ユーザー向けコメント取得 Internal Link

パラメータ

名前型必須説明
optionsconst GetCommentsForUserOptions&はい

レスポンス

戻り値: GetCommentsForUserResponse

例

getCommentsForUser の例
Copy Copy
1
2auto options = GetCommentsForUserOptions{
3 utility::conversions::to_string_t("my-tenant-123"),
4 utility::conversions::to_string_t("user@example.com"),
5 boost::optional<int>(50),
6 boost::optional<utility::string_t>(utility::conversions::to_string_t("next-page-token"))
7};
8
9api->getCommentsForUser(options).then([](pplx::task<std::shared_ptr<GetCommentsForUserResponse>> task){
10 try{
11 auto response = task.get();
12 }catch(const std::exception&){}
13});
14

ドメイン設定追加 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
addDomainConfigParamsAddDomainConfigParamsはい

レスポンス

返却: AddDomainConfigResponse

例

addDomainConfig の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3AddDomainConfigParams params;
4params.domain = U("example.com");
5params.adminEmail = U("admin@example.com");
6params.notes = boost::optional<utility::string_t>(U("Primary domain"));
7api->addDomainConfig(tenantId, params).then([](pplx::task<std::shared_ptr<AddDomainConfigResponse>> task){
8 try{
9 auto response = task.get();
10 }catch(const std::exception&){
11 }
12});
13

ドメイン設定削除 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
domainstringはい

レスポンス

戻り値: DeleteDomainConfigResponse

例

deleteDomainConfig の例
Copy Copy
1
2boost::optional<utility::string_t> optTenant = U("my-tenant-123");
3boost::optional<utility::string_t> optDomain = U("example.com");
4
5api->deleteDomainConfig(optTenant.value(), optDomain.value())
6 .then([](pplx::task<std::shared_ptr<DeleteDomainConfigResponse>> task) {
7 try {
8 auto response = task.get();
9 } catch (const std::exception&) {
10 }
11 });
12

ドメイン設定取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
domainstringYes

レスポンス

戻り値: GetDomainConfigResponse

例

getDomainConfig の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t domain = U("myblog.example.com");
4
5api->getDomainConfig(tenantId, domain)
6 .then([](std::shared_ptr<GetDomainConfigResponse> response) {
7 if (!response) return;
8 boost::optional<bool> moderationEnabled = response->moderationEnabled;
9 boost::optional<std::string> theme = response->theme;
10 if (moderationEnabled && *moderationEnabled) {
11 // 有効なモデレーションを処理
12 }
13 if (theme) {
14 // テーマ値を使用
15 }
16 })
17 .wait();
18

ドメイン設定一覧取得 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringはい

レスポンス

返却: GetDomainConfigsResponse

例

getDomainConfigs の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> optionalTenant = tenantId;
4api->getDomainConfigs(optionalTenant.value())
5 .then([](std::shared_ptr<GetDomainConfigsResponse> response) {
6 auto domains = response->getDomainList();
7 for (const auto& d : domains) {
8 std::cout << d << std::endl;
9 }
10 });
11

ドメイン設定パッチ Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
domainToUpdatestringYes
patchDomainConfigParamsPatchDomainConfigParamsYes

レスポンス

戻り値: PatchDomainConfigResponse

例

patchDomainConfig の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto domainToUpdate = utility::conversions::to_string_t("example.com");
4PatchDomainConfigParams patchDomainConfigParams;
5patchDomainConfigParams.enableComments = boost::optional<bool>(true);
6patchDomainConfigParams.moderationLevel = boost::optional<int>(2);
7patchDomainConfigParams.customHeader = boost::optional<utility::string_t>(utility::conversions::to_string_t("X-Custom-Header"));
8
9api->patchDomainConfig(tenantId, domainToUpdate, patchDomainConfigParams)
10 .then([](std::shared_ptr<PatchDomainConfigResponse> resp) {
11 // 成功処理
12 })
13 .then([](pplx::task<void> t) {
14 try { t.get(); } catch (const std::exception& e) { /* エラー処理 */ }
15 });
16

ドメイン設定置換 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
domainToUpdatestringはい
updateDomainConfigParamsUpdateDomainConfigParamsはい

応答

返却: PutDomainConfigResponse

例

putDomainConfig の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t domainToUpdate = U("example.com");
4UpdateDomainConfigParams updateParams;
5updateParams.enableComments = true;
6updateParams.moderationLevel = boost::optional<int>(2);
7updateParams.customCss = boost::optional<utility::string_t>(U(".fc-comment{color:red;}"));
8api->putDomainConfig(tenantId, domainToUpdate, updateParams)
9 .then([](std::shared_ptr<PutDomainConfigResponse> resp) {
10 });
11

メールテンプレート作成 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
createEmailTemplateBodyCreateEmailTemplateBodyはい

レスポンス

返却: CreateEmailTemplateResponse

例

createEmailTemplate の例
Copy Copy
1
2auto body = std::make_shared<CreateEmailTemplateBody>();
3body->subject = utility::string_t("Welcome Email");
4body->htmlContent = utility::string_t("<h1>Welcome!</h1><p>Thanks for joining.</p>");
5body->fromEmail = utility::string_t("no-reply@myapp.com");
6body->replyTo = boost::optional<utility::string_t>(utility::string_t("support@myapp.com"));
7body->cc = boost::none;
8api->createEmailTemplate(utility::string_t("my-tenant-123"), *body)
9 .then([](std::shared_ptr<CreateEmailTemplateResponse> resp) {
10 std::cout << "Created template ID: " << resp->id << std::endl;
11 });
12

メールテンプレート削除 Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
idstringYes

レスポンス

返却: APIEmptyResponse

例

deleteEmailTemplate の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto templateId = utility::conversions::to_string_t("welcome-email-template");
4boost::optional<utility::string_t> optTenantId = tenantId;
5boost::optional<utility::string_t> optTemplateId = templateId;
6api->deleteEmailTemplate(optTenantId.value(), optTemplateId.value())
7 .then([](pplx::task<std::shared_ptr<APIEmptyResponse>> t) {
8 try { t.get(); }
9 catch (const std::exception&) {}
10 });
11

メールテンプレートレンダリングエラー削除 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes
errorIdstringYes

レスポンス

戻り値: APIEmptyResponse

例

deleteEmailTemplateRenderError の例
Copy Copy
1
2boost::optional<utility::string_t> optTemplateId = utility::conversions::to_string_t("template-456");
3api->deleteEmailTemplateRenderError(
4 utility::conversions::to_string_t("my-tenant-123"),
5 *optTemplateId,
6 utility::conversions::to_string_t("error-789"))
7 .then([](std::shared_ptr<APIEmptyResponse>) {})
8 .then([](pplx::task<void> t) {
9 try { t.get(); } catch (...) {}
10 });
11

メールテンプレート取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: GetEmailTemplateResponse

例

getEmailTemplate の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto templateId = utility::conversions::to_string_t("welcome-email");
4boost::optional<utility::string_t> language = utility::conversions::to_string_t("en-US");
5
6api->getEmailTemplate(tenantId, templateId)
7 .then([=](pplx::task<std::shared_ptr<GetEmailTemplateResponse>> task) {
8 try {
9 auto response = task.get();
10 } catch (const std::exception&) {
11 }
12 });
13

メールテンプレート定義取得 Internal Link

パラメーター

名前型必須説明
tenantIdstringはい

レスポンス

戻り値: GetEmailTemplateDefinitionsResponse

例

getEmailTemplateDefinitions の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3api->getEmailTemplateDefinitions(tenantId).then([](pplx::task<std::shared_ptr<GetEmailTemplateDefinitionsResponse>> t) {
4 try {
5 auto resp = t.get();
6 boost::optional<utility::string_t> tmplName = resp ? resp->templateName : boost::none;
7 if (tmplName) {
8 std::cout << *tmplName << std::endl;
9 }
10 } catch (const std::exception& e) {
11 std::cerr << e.what() << std::endl;
12 }
13});
14

メールテンプレートレンダリングエラー取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
idstringはい
skipdoubleいいえ

レスポンス

返却: GetEmailTemplateRenderErrorsResponse

例

getEmailTemplateRenderErrors の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t id = U("email-template-789");
4boost::optional<double> skip = 20.0;
5
6api->getEmailTemplateRenderErrors(tenantId, id, skip)
7 .then([](pplx::task<std::shared_ptr<GetEmailTemplateRenderErrorsResponse>> task) {
8 try {
9 auto response = task.get();
10 // 必要に応じてレスポンスを使用する
11 } catch (const std::exception& ex) {
12 // エラーを処理する
13 }
14 });
15

メールテンプレート一覧取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
skipdoubleいいえ

レスポンス

戻り値: GetEmailTemplatesResponse

例

getEmailTemplates の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3boost::optional<double> skip = 10.0;
4api->getEmailTemplates(tenantId, skip)
5 .then([](std::shared_ptr<GetEmailTemplatesResponse> resp) {
6 (void)resp;
7 });
8

メールテンプレートレンダリング Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
renderEmailTemplateBodyRenderEmailTemplateBodyはい
localestringいいえ

レスポンス

返却: RenderEmailTemplateResponse

例

renderEmailTemplate の例
Copy Copy
1
2auto body = RenderEmailTemplateBody();
3body.templateId = U("welcome-email");
4body.recipientEmail = U("user@example.com");
5boost::optional<utility::string_t> locale = U("en-US");
6
7api->renderEmailTemplate(U("my-tenant-123"), body, locale)
8 .then([](std::shared_ptr<RenderEmailTemplateResponse> resp) {
9 std::cout << "Email template rendered successfully\n";
10 });
11

メールテンプレート更新 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
idstringはい
updateEmailTemplateBodyUpdateEmailTemplateBodyはい

応答

返却値: APIEmptyResponse

例

updateEmailTemplate の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t templateId = U("welcome-email");
4UpdateEmailTemplateBody body;
5body.subject = U("Welcome to Our Platform");
6body.content = U("<p>Hello \{{userName}}, welcome aboard!</p>");
7body.isActive = boost::optional<bool>(true);
8api->updateEmailTemplate(tenantId, templateId, body)
9 .then([](std::shared_ptr<APIEmptyResponse> response) {
10 // 成功時の処理
11 })
12 .then([](pplx::task<void> t) {
13 try { t.get(); } catch (const std::exception &) { /* エラー処理 */ }
14 });
15

イベントログ取得 Internal Link

req tenantId urlId userIdWS

パラメータ

名前型必須説明
tenantIdstringYes
urlIdstringYes
userIdWSstringYes
startTimeint64_tYes
endTimeint64_tNo

レスポンス

返却: GetEventLogResponse

例

getEventLog の例
Copy Copy
1
2auto startTime = int64_t(1622505600);
3boost::optional<int64_t> endTime = int64_t(1622592000);
4api->getEventLog(U("my-tenant-123"), U("article-456"), U("user@example.com"), startTime, endTime)
5 .then([](std::shared_ptr<GetEventLogResponse> response){
6 auto copy = std::make_shared<GetEventLogResponse>(*response);
7 (void)copy;
8 });
9

全体イベントログ取得 Internal Link

req tenantId urlId userIdWS

パラメータ

名前型必須説明
tenantIdstringはい
urlIdstringはい
userIdWSstringはい
startTimeint64_tはい
endTimeint64_tいいえ

レスポンス

返却: GetEventLogResponse

例

getGlobalEventLog の例
Copy Copy
1
2api->getGlobalEventLog(
3 U("my-tenant-123"),
4 U("article-456"),
5 U("user@example.com"),
6 1622505600,
7 boost::optional<int64_t>(1625097600)
8).then([](std::shared_ptr<GetEventLogResponse> resp) {
9 (void)resp;
10});
11

フィード投稿作成 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
createFeedPostParamsCreateFeedPostParamsYes
optionsconst CreateFeedPostOptions&Yes

応答

戻り値: CreateFeedPostsResponse

例

createFeedPost の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3CreateFeedPostParams postParams;
4postParams.content = utility::conversions::to_string_t("Excited to join FastComments!");
5postParams.authorEmail = utility::conversions::to_string_t("user@example.com");
6postParams.title = utility::conversions::to_string_t("My First Post");
7postParams.tags = boost::optional<std::vector<utility::string_t>>({ utility::conversions::to_string_t("intro") });
8
9CreateFeedPostOptions options;
10options.notifyFollowers = boost::optional<bool>(true);
11options.scheduledAt = boost::optional<utility::datetime>(utility::datetime::utc_now());
12
13api->createFeedPost(tenantId, postParams, options).then([](std::shared_ptr<CreateFeedPostsResponse> resp) {
14 auto postId = resp->postId;
15});
16

公開フィード投稿作成 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
createFeedPostParamsCreateFeedPostParamsYes
optionsconst CreateFeedPostPublicOptions&Yes

応答

戻り値: CreateFeedPostResponse

例

createFeedPostPublic の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3
4CreateFeedPostParams params;
5params.title = U("Introducing Our New Feature");
6params.content = U("We are excited to announce the release of our latest update.");
7params.authorEmail = boost::optional<utility::string_t>(U("user@example.com"));
8params.tags = boost::optional<std::vector<utility::string_t>>({U("announcement"), U("release")});
9
10CreateFeedPostPublicOptions options;
11
12api->createFeedPostPublic(tenantId, params, options)
13 .then([](std::shared_ptr<CreateFeedPostResponse> resp) {
14 if (resp) {
15 std::wcout << U("Post created with ID: ") << resp->postId << std::endl;
16 }
17 });
18

公開フィード投稿削除 Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
postIdstringYes
optionsconst DeleteFeedPostPublicOptions&Yes

レスポンス

戻り値: DeleteFeedPostPublicResponse

例

deleteFeedPostPublic の例
Copy Copy
1
2auto opts = std::make_shared<DeleteFeedPostPublicOptions>();
3opts->reason = boost::optional<utility::string_t>(U("Inappropriate content"));
4api->deleteFeedPostPublic(U("my-tenant-123"), U("post-789"), *opts)
5 .then([](std::shared_ptr<DeleteFeedPostPublicResponse> resp) {
6 if (resp && resp->isSuccess()) {
7 // 成功ロジック
8 }
9 });
10

フィード投稿取得 Internal Link

リクエスト tenantId afterId

パラメータ

名前型必須説明
tenantIdstringYes
optionsconst GetFeedPostsOptions&Yes

レスポンス

返却: GetFeedPostsResponse

例

getFeedPosts の例
Copy Copy
1
2auto opts = std::make_shared<GetFeedPostsOptions>();
3opts->maxResults = boost::optional<int>(50);
4opts->cursor = boost::optional<utility::string_t>(U("next-cursor"));
5api->getFeedPosts(U("my-tenant-123"), *opts).then([](std::shared_ptr<GetFeedPostsResponse> resp) {
6 auto count = resp->posts.size();
7});
8

公開フィード投稿取得 Internal Link

req
tenantId
afterId

パラメータ

名前型必須説明
tenantIdstringはい
optionsconst GetFeedPostsPublicOptions&はい

レスポンス

返却: PublicFeedPostsResponse

例

getFeedPostsPublic の例
Copy Copy
1
2auto options = GetFeedPostsPublicOptions{};
3options.limit = boost::optional<int>{20};
4options.before = boost::optional<utility::string_t>{U("2023-01-01T00:00:00Z")};
5
6api->getFeedPostsPublic(U("my-tenant-123"), options).then([](pplx::task<std::shared_ptr<PublicFeedPostsResponse>> task){
7 try{
8 auto response = task.get();
9 auto processed = std::make_shared<PublicFeedPostsResponse>(*response);
10 // 必要に応じて processed を使用
11 }catch(const std::exception&){
12 // エラーを処理
13 }
14});
15

フィード投稿統計取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
postIdsvector<stringはい
ssostringいいえ

レスポンス

戻り値: FeedPostsStatsResponse

例

getFeedPostsStats 例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3std::vector<utility::string_t> postIds = {
4 utility::conversions::to_string_t("post-001"),
5 utility::conversions::to_string_t("post-002")
6};
7boost::optional<utility::string_t> sso = utility::conversions::to_string_t("user@example.com");
8
9api->getFeedPostsStats(tenantId, postIds, sso)
10 .then([](std::shared_ptr<FeedPostsStatsResponse> response) {
11 (void)response;
12 });
13

公開ユーザーリアクション取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
optionsconst GetUserReactsPublicOptions&はい

レスポンス

戻り値: UserReactsResponse

例

getUserReactsPublic の例
Copy Copy
1
2auto options = GetUserReactsPublicOptions{};
3options.userId = boost::optional<utility::string_t>(U("user@example.com"));
4options.limit = boost::optional<int>(50);
5api->getUserReactsPublic(U("my-tenant-123"), options).then([](pplx::task<std::shared_ptr<UserReactsResponse>> t){
6 auto response = t.get();
7});
8

公開フィード投稿にリアクション Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
postIdstringはい
reactBodyParamsReactBodyParamsはい
optionsconst ReactFeedPostPublicOptions&はい

レスポンス

返却: ReactFeedPostResponse

例

reactFeedPostPublic の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto postId = utility::conversions::to_string_t("post-987");
4ReactBodyParams reactBody;
5reactBody.reaction = utility::conversions::to_string_t("love");
6reactBody.userId = utility::conversions::to_string_t("user@example.com");
7ReactFeedPostPublicOptions options;
8options.metadata = boost::optional<utility::string_t>(utility::conversions::to_string_t("mobile"));
9api->reactFeedPostPublic(tenantId, postId, reactBody, options)
10 .then([](std::shared_ptr<ReactFeedPostResponse> resp) {
11 });
12

フィード投稿更新 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
idstringはい
feedPostFeedPostはい

応答

返却: APIEmptyResponse

例

updateFeedPost の例
Copy Copy
1
2utility::string_t tenantId = U"my-tenant-123";
3utility::string_t postId = U"post-456";
4
5FeedPost feedPost;
6feedPost.title = U"Breaking News";
7feedPost.content = U"Details of the update go here.";
8feedPost.imageUrl = boost::optional<utility::string_t>(U"https://example.com/image.jpg");
9
10api->updateFeedPost(tenantId, postId, feedPost)
11 .then([](pplx::task<std::shared_ptr<APIEmptyResponse>> task) {
12 try {
13 auto response = task.get();
14 } catch (const std::exception& ex) {
15 }
16 });
17

公開フィード投稿更新 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
postIdstringYes
updateFeedPostParamsUpdateFeedPostParamsYes
optionsconst UpdateFeedPostPublicOptions&Yes

レスポンス

戻り値: CreateFeedPostResponse

例

updateFeedPostPublic の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t postId = U("post-456");
4UpdateFeedPostParams params;
5params.title = boost::optional<utility::string_t>(U("Updated Title"));
6params.body = boost::optional<utility::string_t>(U("Updated content of the post."));
7UpdateFeedPostPublicOptions options;
8options.notifyFollowers = boost::optional<bool>(true);
9api->updateFeedPostPublic(tenantId, postId, params, options)
10 .then([](std::shared_ptr<CreateFeedPostResponse> resp) {
11 auto result = resp;
12 });
13

公開コメントにフラグ付け Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
commentIdstringYes
isFlaggedboolYes
ssostringNo

レスポンス

戻り値: APIEmptyResponse

例

flagCommentPublic の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("cmt-456789");
4bool isFlagged = true;
5boost::optional<utility::string_t> sso = utility::conversions::to_string_t("sso-token-abc");
6
7api->flagCommentPublic(tenantId, commentId, isFlagged, sso)
8 .then([](pplx::task<std::shared_ptr<APIEmptyResponse>> t){
9 try{
10 auto resp = t.get();
11 }catch(const std::exception&){
12 }
13 });
14

大きいGIF取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
largeInternalURLSanitizedstringはい

レスポンス

戻り値: GifGetLargeResponse

例

getGifLarge 例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto largeUrl = utility::conversions::to_string_t("https://cdn.example.com/gifs/large/abc123.gif");
4
5api->getGifLarge(tenantId, largeUrl)
6 .then([&](std::shared_ptr<GifGetLargeResponse> resp) {
7 boost::optional<utility::string_t> maybeUrl;
8 if (resp && resp->url) {
9 maybeUrl = resp->url;
10 }
11 if (maybeUrl) {
12 std::wcout << *maybeUrl << std::endl;
13 }
14 });
15

GIF検索取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
searchstringはい
optionsconst GetGifsSearchOptions&はい

レスポンス

返り値: GetGifsSearchResponse

例

getGifsSearch の例
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto search = U("funny cats");
4GetGifsSearchOptions options;
5options.limit = boost::optional<int>(10);
6options.rating = boost::optional<utility::string_t>(U("pg"));
7api->getGifsSearch(tenantId, search, options).then([](pplx::task<std::shared_ptr<GetGifsSearchResponse>> task){
8 try{
9 auto response = task.get();
10 }catch(const std::exception&){
11 }
12});
13

トレンドGIF取得 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetGifsTrendingOptions&Yes

レスポンス

戻り値: GetGifsTrendingResponse

例

getGifsTrending の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetGifsTrendingOptions options;
4options.limit = 10;
5options.rating = boost::optional<utility::string_t>(U("G"));
6api->getGifsTrending(tenantId, options).then([](std::shared_ptr<GetGifsTrendingResponse> response) {
7 for (const auto& gif : response->gifs) {
8 auto url = gif.url;
9 }
10});
11

ハッシュタグ追加 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
createHashTagBodyCreateHashTagBodyYes

応答

戻り値: CreateHashTagResponse

例

addHashTag 例
Copy Copy
1
2CreateHashTagBody request;
3request.tag = utility::conversions::to_string_t("feature-request");
4request.description = utility::conversions::to_string_t("Requests for new features");
5request.relatedUrl = boost::optional<utility::string_t>(utility::conversions::to_string_t("https://example.com/feature-request"));
6
7api->addHashTag(utility::conversions::to_string_t("my-tenant-123"), request)
8 .then([](std::shared_ptr<CreateHashTagResponse> resp) {
9 (void)resp;
10 });
11

ハッシュタグ一括追加 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
bulkCreateHashTagsBodyBulkCreateHashTagsBodyYes

応答

戻り値: BulkCreateHashTagsResponse

例

addHashTagsBulk 例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3BulkCreateHashTagsBody bulkBody;
4bulkBody.tags = { utility::string_t(U("announcement")), utility::string_t(U("feature-request")) };
5bulkBody.description = boost::optional<utility::string_t>(U("Bulk tag creation"));
6api->addHashTagsBulk(tenantId, bulkBody).then([](pplx::task<std::shared_ptr<BulkCreateHashTagsResponse>> task){
7 try{
8 auto resp = task.get();
9 }catch(const std::exception&){
10 }
11});
12

ハッシュタグ削除 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
tagstringYes
deleteHashTagRequestBodyDeleteHashTagRequestBodyYes

レスポンス

返却: APIEmptyResponse

例

deleteHashTag の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-001");
3auto tag = utility::conversions::to_string_t("news");
4DeleteHashTagRequestBody requestBody;
5requestBody.userId = utility::conversions::to_string_t("user-42");
6requestBody.reason = boost::optional<utility::string_t>(utility::conversions::to_string_t("User request"));
7api->deleteHashTag(tenantId, tag, requestBody)
8 .then([](std::shared_ptr<APIEmptyResponse> resp) {
9 });
10

ハッシュタグ取得 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
pagedoubleNo

レスポンス

戻り値: GetHashTagsResponse

例

getHashTags の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3boost::optional<double> page = 2.0;
4
5api->getHashTags(tenantId, page).then([](pplx::task<std::shared_ptr<GetHashTagsResponse>> task) {
6 try {
7 auto resultPtr = task.get();
8 auto response = std::make_shared<GetHashTagsResponse>(*resultPtr);
9 // レスポンスを使用
10 } catch (const std::exception&) {
11 // エラーを処理
12 }
13});
14

ハッシュタグパッチ Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
tagstringYes
updateHashTagBodyUpdateHashTagBodyYes

レスポンス

返却: UpdateHashTagResponse

例

patchHashTag 例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t tag = U("important");
4auto body = std::make_shared<UpdateHashTagBody>();
5body->name = U("important-updated");
6body->description = boost::optional<utility::string_t>(U("Updated description"));
7api->patchHashTag(tenantId, tag, *body)
8 .then([](pplx::task<std::shared_ptr<UpdateHashTagResponse>> t){
9 try{
10 auto response = t.get();
11 std::cout << "Updated tag ID: " << response->id << std::endl;
12 }catch(const std::exception& e){
13 std::cerr << "Patch failed: " << e.what() << std::endl;
14 }
15 });
16

モデレーション投票削除 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
voteIdstringはい
optionsconst DeleteModerationVoteOptions&はい

レスポンス

返却: VoteDeleteResponse

例

deleteModerationVote の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-abc123");
4auto voteId = utility::conversions::to_string_t("vote-xyz789");
5DeleteModerationVoteOptions opts;
6opts.reason = utility::conversions::to_string_t("Offensive language");
7opts.hardDelete = boost::optional<bool>(true);
8api->deleteModerationVote(tenantId, commentId, voteId, opts)
9 .then([](std::shared_ptr<VoteDeleteResponse> resp){});
10

APIコメント取得 Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringはい
optionsconst GetApiCommentsOptions&はい

レスポンス

返り値: ModerationAPIGetCommentsResponse

例

getApiComments の例
Copy Copy
1
2auto options = GetApiCommentsOptions{};
3options.page = boost::make_optional(2);
4options.authorEmail = boost::make_optional<utility::string_t>(U("user@example.com"));
5options.includeDeleted = boost::make_optional(false);
6
7api->getApiComments(U("my-tenant-123"), options).then([](pplx::task<std::shared_ptr<ModerationAPIGetCommentsResponse>> task){
8 try{
9 auto response = task.get();
10 }catch(const std::exception&){
11 }
12});
13

APIエクスポートステータス取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
optionsconst GetApiExportStatusOptions&はい

レスポンス

返却: ModerationExportStatusResponse

例

getApiExportStatus の例
Copy Copy
1
2auto opts = GetApiExportStatusOptions{};
3opts.exportId = boost::make_optional<utility::string_t>(U("export-456"));
4api->getApiExportStatus(U("my-tenant-123"), opts)
5 .then([](pplx::task<std::shared_ptr<ModerationExportStatusResponse>> t){
6 try{
7 auto status = t.get();
8 }catch(const std::exception&){
9 }
10 });
11

API ID取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
optionsconst GetApiIdsOptions&Yes

レスポンス

戻り値: ModerationAPIGetCommentIdsResponse

例

getApiIds の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetApiIdsOptions options;
4options.limit = boost::optional<int>(100);
5options.cursor = boost::optional<utility::string_t>(U("next-page-token"));
6api->getApiIds(tenantId, options).then([](pplx::task<std::shared_ptr<ModerationAPIGetCommentIdsResponse>> t){
7 try{
8 auto response = t.get();
9 auto ids = response->commentIds;
10 }catch(const std::exception&){
11 }
12});
13

コメントからのユーザーバン取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
ssostringいいえ

レスポンス

返される: GetBannedUsersFromCommentResponse

例

getBanUsersFromComment の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto commentId = utility::string_t(U("comment-456"));
4boost::optional<utility::string_t> sso = boost::make_optional(utility::string_t(U("sso-token-abc")));
5
6api->getBanUsersFromComment(tenantId, commentId, sso).then([](pplx::task<std::shared_ptr<GetBannedUsersFromCommentResponse>> task) {
7 try {
8 auto response = task.get();
9 } catch (const std::exception&) {
10 }
11});
12

コメントバンステータス取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
ssostringいいえ

応答

返却: GetCommentBanStatusResponse

例

getCommentBanStatus の例
Copy Copy
1
2auto tenantId = utility::string_t(U"my-tenant-123");
3auto commentId = utility::string_t(U"comment-456");
4boost::optional<utility::string_t> sso = utility::string_t(U"user@example.com");
5
6api->getCommentBanStatus(tenantId, commentId, sso).then([](pplx::task<std::shared_ptr<GetCommentBanStatusResponse>> t){
7 try{
8 auto response = t.get();
9 }catch(const std::exception&){ }
10});
11

コメント子取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
ssostringいいえ

レスポンス

返却: ModerationAPIChildCommentsResponse

例

getCommentChildren の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("comment-456");
4boost::optional<utility::string_t> sso = U("sso-token-abc");
5
6api->getCommentChildren(tenantId, commentId, sso)
7 .then([](pplx::task<std::shared_ptr<ModerationAPIChildCommentsResponse>> task) {
8 try {
9 auto response = task.get();
10 } catch (const std::exception&) {
11 }
12 });
13

カウント取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
optionsconst GetCountOptions&Yes

レスポンス

返却: ModerationAPICountCommentsResponse

例

getCount の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetCountOptions options;
4options.userEmail = boost::optional<utility::string_t>(U("user@example.com"));
5options.maxResults = boost::optional<int>(100);
6api->getCount(tenantId, options).then([](pplx::task<std::shared_ptr<ModerationAPICountCommentsResponse>> task){
7 try{
8 auto resp = task.get();
9 auto copy = std::make_shared<ModerationAPICountCommentsResponse>(*resp);
10 std::cout << "Count: " << copy->count << std::endl;
11 }catch(const std::exception& e){
12 std::cerr << "Error: " << e.what() << std::endl;
13 }
14});
15

カウント一覧取得 Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
ssostringNo

レスポンス

返却: GetBannedUsersCountResponse

例

getCounts の例
Copy Copy
1
2api->getCounts(
3 utility::conversions::to_string_t("my-tenant-123"),
4 boost::optional<utility::string_t>(utility::conversions::to_string_t("john.doe@example.com"))
5).then([](pplx::task<std::shared_ptr<GetBannedUsersCountResponse>> t){
6 try{
7 auto response = t.get();
8 }catch(const std::exception&){
9 }
10});
11

ログ取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
ssostringいいえ

レスポンス

返り値: ModerationAPIGetLogsResponse

例

getLogs の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("comment-456");
4boost::optional<utility::string_t> sso = U("sso-token-abc");
5
6api->getLogs(tenantId, commentId, sso).then([](pplx::task<std::shared_ptr<ModerationAPIGetLogsResponse>> t){
7 try{
8 auto response = t.get();
9 }catch(...){
10 }
11});
12

手動バッジ取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
ssostringいいえ

レスポンス

返り値: GetTenantManualBadgesResponse

例

getManualBadges の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<utility::string_t> sso = boost::make_optional(U("user@example.com"));
4
5api->getManualBadges(tenantId, sso)
6 .then([](pplx::task<std::shared_ptr<GetTenantManualBadgesResponse>> t) {
7 try {
8 auto response = t.get();
9 // process response, e.g., response->badgeList
10 } catch (const std::exception& ex) {
11 // handle error
12 }
13 });
14

ユーザーの手動バッジ取得 Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringはい
optionsconst GetManualBadgesForUserOptions&はい

Response

戻り値: GetUserManualBadgesResponse

Example

getManualBadgesForUser の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetManualBadgesForUserOptions options;
4options.userEmail = boost::optional<utility::string_t>(U("user@example.com"));
5options.includeInactive = boost::optional<bool>(true);
6api->getManualBadgesForUser(tenantId, options).then([](pplx::task<std::shared_ptr<GetUserManualBadgesResponse>> task){
7 try{
8 auto response = task.get();
9 }catch(const std::exception&){
10 }
11});
12

モデレーションコメント取得 Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringはい
commentIdstringはい
optionsconst GetModerationCommentOptions&はい

応答

返却: ModerationAPICommentResponse

例

getModerationComment の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-456");
4GetModerationCommentOptions options;
5options.includeDeleted = boost::optional<bool>(true);
6options.locale = boost::optional<utility::string_t>(utility::conversions::to_string_t("en-US"));
7api->getModerationComment(tenantId, commentId, options)
8 .then([](pplx::task<std::shared_ptr<ModerationAPICommentResponse>> task) {
9 try {
10 auto response = task.get();
11 // 必要に応じてレスポンスを処理
12 } catch (const std::exception& ex) {
13 // エラーを処理
14 }
15 });
16

モデレーションコメントテキスト取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
ssostringいいえ

レスポンス

返却: GetCommentTextResponse

例

getModerationCommentText の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-987654");
4boost::optional<utility::string_t> sso = U("sso-token-abc");
5
6api->getModerationCommentText(tenantId, commentId, sso)
7 .then([](pplx::task<std::shared_ptr<GetCommentTextResponse>> t) {
8 try {
9 auto resp = t.get();
10 auto text = std::make_shared<std::string>(resp->commentText);
11 } catch (const std::exception&) {
12 }
13 });
14

事前バン概要取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
optionsconst GetPreBanSummaryOptions&はい

応答

返却: PreBanSummary

例

getPreBanSummary の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("cmt-456789");
4GetPreBanSummaryOptions options;
5options.locale = boost::optional<utility::string_t>{utility::conversions::to_string_t("en-US")};
6
7api->getPreBanSummary(tenantId, commentId, options)
8 .then([](pplx::task<std::shared_ptr<PreBanSummary>> t) {
9 try {
10 auto summary = t.get();
11 // サマリーを処理する
12 } catch (const std::exception&) {
13 // エラーを処理する
14 }
15 });
16

コメント検索概要取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
optionsconst GetSearchCommentsSummaryOptions&はい

レスポンス

戻り値: ModerationCommentSearchResponse

例

getSearchCommentsSummary 例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto options = std::make_shared<GetSearchCommentsSummaryOptions>();
4options->query = utility::conversions::to_string_t("spam");
5options->pageSize = boost::optional<int>(50);
6options->pageNumber = boost::optional<int>(1);
7options->fromDate = boost::none;
8api->getSearchCommentsSummary(tenantId, *options).then([](pplx::task<std::shared_ptr<ModerationCommentSearchResponse>> task){
9 try{
10 auto response = task.get();
11 }catch(const std::exception&){
12 }
13});
14

ページ検索取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
optionsconst GetSearchPagesOptions&Yes

レスポンス

返却: ModerationPageSearchResponse

例

getSearchPages の例
Copy Copy
1
2GetSearchPagesOptions options;
3options.pageNumber = boost::optional<int>(1);
4options.pageSize = boost::optional<int>(50);
5options.searchTerm = boost::optional<utility::string_t>(U("spam"));
6
7api->getSearchPages(U("my-tenant-123"), options)
8 .then([](pplx::task<std::shared_ptr<ModerationPageSearchResponse>> task) {
9 try {
10 auto response = task.get();
11 // レスポンスを使用
12 } catch (const std::exception& e) {
13 // エラーを処理
14 }
15 });
16

サイト検索取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
optionsconst GetSearchSitesOptions&はい

レスポンス

戻り値: ModerationSiteSearchResponse

例

getSearchSites の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3GetSearchSitesOptions options;
4options.query = boost::make_optional(utility::string_t(U("example query")));
5options.limit = boost::make_optional(25);
6
7api->getSearchSites(tenantId, options)
8 .then([](pplx::task<std::shared_ptr<ModerationSiteSearchResponse>> t) {
9 try {
10 auto response = t.get();
11 auto respPtr = std::make_shared<ModerationSiteSearchResponse>(*response);
12 for (const auto& site : respPtr->sites) {
13 // 処理ロジック
14 }
15 } catch (const std::exception&) {
16 // エラー処理
17 }
18 });
19

検索サジェスト取得 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetSearchSuggestOptions&Yes

レスポンス

戻り値: ModerationSuggestResponse

例

getSearchSuggest の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetSearchSuggestOptions opts;
4opts.query = U("search term");
5opts.limit = boost::optional<int>(5);
6opts.includeInactive = boost::optional<bool>(false);
7api->getSearchSuggest(tenantId, opts).then([](pplx::task<std::shared_ptr<ModerationSuggestResponse>> t){
8 try{
9 auto resp = t.get();
10 }catch(const std::exception&){ }
11}).wait();
12

ユーザー検索取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
optionsconst GetSearchUsersOptions&はい

レスポンス

返り値: ModerationUserSearchResponse

例

getSearchUsers の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3GetSearchUsersOptions opts;
4opts.query = utility::string_t(U("john.doe@example.com"));
5opts.page = boost::optional<int>(1);
6opts.pageSize = boost::optional<int>(20);
7
8api->getSearchUsers(tenantId, opts)
9 .then([](std::shared_ptr<ModerationUserSearchResponse> resp) {
10 for (const auto& user : resp->users) {
11 std::wcout << user.id << L" - " << user.email << std::endl;
12 }
13 });
14

信頼度取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
optionsconst GetTrustFactorOptions&はい

レスポンス

返却: GetUserTrustFactorResponse

例

getTrustFactor の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3GetTrustFactorOptions options;
4options.userEmail = boost::optional<utility::string_t>(U("user@example.com"));
5options.ipAddress = boost::optional<utility::string_t>(U("203.0.113.42"));
6api->getTrustFactor(tenantId, options).then([](std::shared_ptr<GetUserTrustFactorResponse> resp) {
7 if (resp) {
8 std::cout << "Trust factor: " << resp->trustFactor << std::endl;
9 }
10});
11

ユーザーバン設定取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
ssostringNo

応答

Returns: APIModerateGetUserBanPreferencesResponse

例

getUserBanPreference の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3boost::optional<utility::string_t> sso = boost::optional<utility::string_t>(U("user@example.com"));
4
5api->getUserBanPreference(tenantId, sso)
6 .then([](pplx::task<std::shared_ptr<APIModerateGetUserBanPreferencesResponse>> t) {
7 try {
8 auto resp = t.get();
9 } catch (const std::exception&) {
10 }
11 });
12

ユーザー内部プロファイル取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
optionsconst GetUserInternalProfileOptions&はい

レスポンス

戻り値: GetUserInternalProfileResponse

例

getUserInternalProfile の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetUserInternalProfileOptions options;
4options.email = boost::optional<utility::string_t>(U("user@example.com"));
5options.includeDetails = boost::optional<bool>(true);
6
7api->getUserInternalProfile(tenantId, options)
8 .then([](std::shared_ptr<GetUserInternalProfileResponse> response) {
9 if (response) {
10 auto name = response->displayName;
11 auto id = response->userId;
12 }
13 });
14

コメント投票調整 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
adjustCommentVotesParamsAdjustCommentVotesParamsはい
optionsconst PostAdjustCommentVotesOptions&はい

レスポンス

戻り値: AdjustVotesResponse

例

postAdjustCommentVotes の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("cmt-456789");
4AdjustCommentVotesParams params;
5params.voteDelta = 1;
6params.userIdentifier = utility::conversions::to_string_t("user@example.com");
7params.reason = boost::optional<utility::string_t>(utility::conversions::to_string_t("Helpful"));
8PostAdjustCommentVotesOptions opts;
9opts.timeout = boost::optional<int>(30);
10api->postAdjustCommentVotes(tenantId, commentId, params, opts).then([](pplx::task<std::shared_ptr<AdjustVotesResponse>> t){
11 try{
12 auto resp = t.get();
13 }catch(const std::exception& e){
14 }
15});
16

APIエクスポート実行 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
optionsconst PostApiExportOptions&はい

レスポンス

返却: ModerationExportResponse

例

postApiExport の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3PostApiExportOptions options;
4options.format = utility::string_t(U("json"));
5options.email = utility::string_t(U("reports@example.com"));
6options.startDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-01T00:00:00Z")));
7options.endDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-31T23:59:59Z")));
8
9api->postApiExport(tenantId, options)
10 .then([](std::shared_ptr<ModerationExportResponse> response) {
11 if (response) {
12 // 成功したエクスポート応答を処理する
13 }
14 })
15 .wait();
16

コメントからユーザーをバン Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
optionsconst PostBanUserFromCommentOptions&はい

レスポンス

戻り値: BanUserFromCommentResult

例

postBanUserFromComment 例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("comment-456789");
4PostBanUserFromCommentOptions options;
5options.reason = boost::optional<utility::string_t>(U("spam"));
6options.durationDays = boost::optional<int>(30);
7
8api->postBanUserFromComment(tenantId, commentId, options)
9 .then([](std::shared_ptr<BanUserFromCommentResult> result) {
10 // 結果の処理
11 })
12 .then([](pplx::task<void> t) {
13 try { t.get(); } catch (const std::exception& e) { /* エラー処理 */ }
14 });
15

ユーザーバン取り消し Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
banUserUndoParamsBanUserUndoParamsはい
ssostringいいえ

レスポンス

戻り値: APIEmptyResponse

例

postBanUserUndo の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3BanUserUndoParams banParams;
4banParams.userId = utility::string_t(U("user-567"));
5banParams.reason = utility::string_t(U("reinstated"));
6boost::optional<utility::string_t> sso = utility::string_t(U("sso-token-abc"));
7
8api->postBanUserUndo(tenantId, banParams, sso).then([](std::shared_ptr<APIEmptyResponse> resp){
9 // 成功を処理
10});
11

一括事前バン概要 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
bulkPreBanParamsBulkPreBanParamsYes
optionsconst PostBulkPreBanSummaryOptions&Yes

レスポンス

返り値: BulkPreBanSummary

例

postBulkPreBanSummary の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3BulkPreBanParams bulkPreBanParams;
4bulkPreBanParams.emails = {
5 utility::conversions::to_string_t("spam1@example.com"),
6 utility::conversions::to_string_t("spam2@example.com")
7};
8bulkPreBanParams.reason = utility::conversions::to_string_t("spam");
9PostBulkPreBanSummaryOptions options;
10options.requestId = boost::optional<utility::string_t>(utility::conversions::to_string_t("req-456"));
11api->postBulkPreBanSummary(tenantId, bulkPreBanParams, options)
12 .then([](std::shared_ptr<BulkPreBanSummary> result) {
13 (void)result;
14 });
15

IDでコメント取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentsByIdsParamsCommentsByIdsParamsはい
ssostringいいえ

応答

戻り値: ModerationAPIChildCommentsResponse

例

postCommentsByIds の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3CommentsByIdsParams params;
4params.commentIds = {U("cmt-001"), U("cmt-002")};
5boost::optional<utility::string_t> sso = U("sso-token-abc");
6api->postCommentsByIds(tenantId, params, sso).then([](pplx::task<std::shared_ptr<ModerationAPIChildCommentsResponse>> t){
7 try{
8 auto resp = t.get();
9 auto copy = std::make_shared<ModerationAPIChildCommentsResponse>(*resp);
10 }catch(const std::exception&){ }
11});
12

コメントにフラグ付け Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
optionsconst PostFlagCommentOptions&はい

レスポンス

戻り値: APIEmptyResponse

例

postFlagComment の例
Copy Copy
1
2PostFlagCommentOptions options;
3options.reason = boost::optional<utility::string_t>(U("spam"));
4options.reportedBy = boost::optional<utility::string_t>(U("moderator@example.com"));
5
6api->postFlagComment(U("my-tenant-123"), U("comment-456"), options)
7 .then([](std::shared_ptr<APIEmptyResponse> resp){
8 (void)resp;
9 })
10 .then([](pplx::task<void> t){
11 try{
12 t.get();
13 }catch(const std::exception&){
14 }
15 });
16

コメント削除 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
commentIdstringYes
optionsconst PostRemoveCommentOptions&Yes

応答

戻り値: PostRemoveCommentApiResponse

例

postRemoveComment の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto commentId = utility::string_t(U("cmt-456789"));
4PostRemoveCommentOptions options;
5options.permanent = boost::optional<bool>(true);
6api->postRemoveComment(tenantId, commentId, options)
7 .then([](pplx::task<std::shared_ptr<PostRemoveCommentApiResponse>> task) {
8 try {
9 auto response = task.get();
10 // レスポンスを処理する
11 } catch (const std::exception& ex) {
12 // エラーを処理する
13 }
14 });
15

削除コメント復元 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
commentIdstringYes
optionsconst PostRestoreDeletedCommentOptions&Yes

レスポンス

戻り値: APIEmptyResponse

例

postRestoreDeletedComment の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-987654");
4PostRestoreDeletedCommentOptions options;
5options.reason = boost::optional<utility::string_t>(U("Restoring after accidental delete"));
6options.notifyUser = boost::optional<bool>(true);
7api->postRestoreDeletedComment(tenantId, commentId, options)
8 .then([](std::shared_ptr<APIEmptyResponse> resp){
9 });
10

コメント承認ステータス設定 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
commentIdstringYes
optionsconst PostSetCommentApprovalStatusOptions&Yes

レスポンス

戻り値: SetCommentApprovedResponse

例

postSetCommentApprovalStatus の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("comment-abc123");
4auto options = std::make_shared<PostSetCommentApprovalStatusOptions>();
5options->approved = boost::optional<bool>(true);
6options->reason = boost::optional<utility::string_t>(utility::conversions::to_string_t("Inappropriate content"));
7api->postSetCommentApprovalStatus(tenantId, commentId, *options)
8 .then([](pplx::task<std::shared_ptr<SetCommentApprovedResponse>> task) {
9 try {
10 auto response = task.get();
11 } catch (const std::exception& ex) {
12 }
13 });
14

コメントレビュー状態設定 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
commentIdstringYes
optionsconst PostSetCommentReviewStatusOptions&Yes

レスポンス

戻り値: APIEmptyResponse

例

postSetCommentReviewStatus の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("cmt-456789");
4PostSetCommentReviewStatusOptions opts;
5opts.status = utility::conversions::to_string_t("approved");
6opts.note = boost::optional<utility::string_t>(utility::conversions::to_string_t("Looks good"));
7api->postSetCommentReviewStatus(tenantId, commentId, opts)
8 .then([](pplx::task<std::shared_ptr<APIEmptyResponse>> t){
9 try{
10 auto resp = t.get();
11 }catch(const std::exception& e){
12 }
13 });
14

コメントスパム状態設定 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
optionsconst PostSetCommentSpamStatusOptions&はい

レスポンス

戻り値: APIEmptyResponse

例

postSetCommentSpamStatus の例
Copy Copy
1
2auto options = PostSetCommentSpamStatusOptions{};
3options.isSpam = true;
4options.reason = boost::optional<utility::string_t>{U"User reported spam"};
5
6api->postSetCommentSpamStatus(U("my-tenant-123"), U("comment-789"), options)
7 .then([](std::shared_ptr<APIEmptyResponse> resp) {
8 auto copy = std::make_shared<APIEmptyResponse>(*resp);
9 })
10 .then([](pplx::task<void> t) {
11 try { t.get(); } catch(const std::exception&) {}
12 });
13

コメントテキスト設定 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
commentIdstringYes
setCommentTextParamsSetCommentTextParamsYes
optionsconst PostSetCommentTextOptions&Yes

レスポンス

戻り値: SetCommentTextResponse

例

postSetCommentText の例
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto commentId = U("comment-456");
4SetCommentTextParams params;
5params.text = U("Revised comment content");
6PostSetCommentTextOptions options;
7options.requestId = boost::optional<utility::string_t>(U("req-987"));
8api->postSetCommentText(tenantId, commentId, params, options)
9 .then([](std::shared_ptr<SetCommentTextResponse> resp) {
10 auto updatedId = resp->commentId;
11 })
12 .then([](pplx::task<void> t) {
13 try { t.get(); } catch (const std::exception&) {}
14 });
15

コメントフラグ解除 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
commentIdstringYes
optionsconst PostUnFlagCommentOptions&Yes

レスポンス

戻り値: APIEmptyResponse

例

postUnFlagComment の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-456789");
4PostUnFlagCommentOptions opts;
5opts.notifyUser = boost::optional<bool>(true);
6api->postUnFlagComment(tenantId, commentId, opts)
7 .then([](std::shared_ptr<APIEmptyResponse> resp) {
8 // ここで処理を行うことができます
9 })
10 .then([](pplx::task<void> t) {
11 try { t.get(); } catch (const std::exception&) {}
12 });
13

投票実行 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
commentIdstringYes
optionsconst PostVoteOptions&Yes

応答

戻り値: VoteResponse

例

postVote の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t commentId = U("cmt-456789");
4PostVoteOptions options;
5options.upvote = boost::make_optional(true);
6options.reason = boost::make_optional<std::string>("Inappropriate content");
7api->postVote(tenantId, commentId, options)
8 .then([](pplx::task<std::shared_ptr<VoteResponse>> t) {
9 try {
10 auto resp = t.get();
11 auto count = resp->voteCount;
12 } catch (const std::exception& e) {
13 }
14 });
15

バッジ授与 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
badgeIdstringYes
optionsconst PutAwardBadgeOptions&Yes

応答

戻り値: AwardUserBadgeResponse

例

putAwardBadge の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto badgeId = utility::conversions::to_string_t("badge-456");
4PutAwardBadgeOptions opts;
5opts.userId = utility::conversions::to_string_t("user-42");
6opts.note = boost::optional<utility::string_t>(utility::conversions::to_string_t("Excellent comment"));
7api->putAwardBadge(tenantId, badgeId, opts).then([](pplx::task<std::shared_ptr<AwardUserBadgeResponse>> t){
8 try{
9 auto resp = t.get();
10 auto respCopy = std::make_shared<AwardUserBadgeResponse>(*resp);
11 }catch(const std::exception& e){
12 }
13});
14

スレッド閉鎖 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
urlIdstringはい
ssostringいいえ

レスポンス

返却: APIEmptyResponse

例

putCloseThread の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-4321"));
3auto urlId = utility::string_t(U("article-9876"));
4boost::optional<utility::string_t> sso = boost::make_optional<utility::string_t>(U("user@example.com"));
5
6api->putCloseThread(tenantId, urlId, sso).then([](pplx::task<std::shared_ptr<APIEmptyResponse>> task){
7 try{
8 auto response = task.get();
9 }catch(const std::exception&){
10 }
11});
12

バッジ削除 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringはい
badgeIdstringはい
optionsconst PutRemoveBadgeOptions&はい

レスポンス

Returns: RemoveUserBadgeResponse

例

putRemoveBadge の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t badgeId = U("badge-abc-456");
4PutRemoveBadgeOptions options;
5options.reason = boost::optional<utility::string_t>(U("Spamming"));
6api->putRemoveBadge(tenantId, badgeId, options).then([](std::shared_ptr<RemoveUserBadgeResponse> resp) {
7 (void)resp;
8});
9

スレッド再開 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
urlIdstringYes
ssostringNo

応答

返却: APIEmptyResponse

例

putReopenThread の例
Copy Copy
1
2api->putReopenThread(utility::string_t(U("my-tenant-123")), utility::string_t(U("thread-456")), boost::make_optional<utility::string_t>(U("user@example.com")))
3 .then([](std::shared_ptr<APIEmptyResponse> result){
4 std::cout << "Thread reopened" << std::endl;
5 });
6

信頼度設定 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
optionsconst SetTrustFactorOptions&Yes

レスポンス

戻り値: SetUserTrustFactorResponse

例

setTrustFactor の例
Copy Copy
1
2SetTrustFactorOptions opts;
3opts.userId = utility::conversions::to_string_t("user@example.com");
4opts.trustFactor = 8;
5opts.reason = boost::optional<utility::string_t>(utility::conversions::to_string_t("Spam check passed"));
6api->setTrustFactor(utility::conversions::to_string_t("my-tenant-123"), opts)
7 .then([](pplx::task<std::shared_ptr<SetUserTrustFactorResponse>> task) {
8 try {
9 auto response = task.get();
10 } catch (const std::exception&) {
11 }
12 });
13

モデレーター作成 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
createModeratorBodyCreateModeratorBodyYes

応答

返却: CreateModeratorResponse

例

createModerator の例
Copy Copy
1
2CreateModeratorBody moderatorBody;
3moderatorBody.email = utility::conversions::to_string_t("moderator@example.com");
4moderatorBody.name = utility::conversions::to_string_t("John Moderator");
5moderatorBody.notes = boost::optional<utility::string_t>(utility::conversions::to_string_t("Community moderator"));
6api->createModerator(utility::conversions::to_string_t("my-tenant-123"), moderatorBody)
7 .then([](std::shared_ptr<CreateModeratorResponse> resp) {});
8

モデレーター削除 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
sendEmailstringNo

応答

戻り値: APIEmptyResponse

例

deleteModerator の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto moderatorId = utility::conversions::to_string_t("mod-456");
4boost::optional<utility::string_t> sendEmail = utility::conversions::to_string_t("admin@example.com");
5api->deleteModerator(tenantId, moderatorId, sendEmail)
6 .then([](std::shared_ptr<APIEmptyResponse> resp) {
7 // 成功を処理する
8 });
9

モデレーター取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes

応答

返り値: GetModeratorResponse

例

getModerator の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto moderatorId = utility::string_t(U("moderator-789"));
4api->getModerator(tenantId, moderatorId)
5 .then([](pplx::task<std::shared_ptr<GetModeratorResponse>> t) {
6 try {
7 auto response = t.get();
8 } catch (const std::exception&) {
9 }
10 });
11

モデレーター一覧取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
skipdoubleいいえ

レスポンス

戻り値: GetModeratorsResponse

例

getModerators の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<double> skip = 10.0;
4api->getModerators(tenantId, skip).then([](pplx::task<std::shared_ptr<GetModeratorsResponse>> t){
5 auto response = t.get();
6});
7

招待送信 Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
idstringYes
fromNamestringYes

レスポンス

返り値: APIEmptyResponse

例

sendInvite の例
Copy Copy
1
2boost::optional<utility::string_t> cc = utility::conversions::to_string_t("cc@example.com");
3api->sendInvite(
4 utility::conversions::to_string_t("my-tenant-123"),
5 utility::conversions::to_string_t("invitee@example.com"),
6 utility::conversions::to_string_t("John Doe")
7).then([](std::shared_ptr<APIEmptyResponse> resp) {
8 // 招待が成功した場合の処理
9});
10

モデレーター更新 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringはい
idstringはい
updateModeratorBodyUpdateModeratorBodyはい

応答

返却: APIEmptyResponse

例

updateModerator の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto moderatorId = utility::conversions::to_string_t("mod-789");
4UpdateModeratorBody body;
5body.email = utility::conversions::to_string_t("moderator@example.com");
6body.isActive = true;
7body.notes = boost::optional<utility::string_t>(utility::conversions::to_string_t("Senior moderator"));
8api->updateModerator(tenantId, moderatorId, body)
9 .then([](std::shared_ptr<APIEmptyResponse>) {})
10 .then([](pplx::task<void> t) { try { t.get(); } catch (const std::exception&) {} });
11

通知数削除 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes

レスポンス

戻り値: APIEmptyResponse

例

deleteNotificationCount 例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto notificationId = utility::conversions::to_string_t("notif-789");
4
5api->deleteNotificationCount(tenantId, notificationId)
6 .then([](std::shared_ptr<APIEmptyResponse> resp) {})
7 .then([](pplx::task<void> t) { try { t.get(); } catch (const std::exception&) {} });
8

キャッシュ通知数取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
idstringはい

レスポンス

返却: GetCachedNotificationCountResponse

例

getCachedNotificationCount の例
Copy Copy
1
2auto tenantId = boost::optional<utility::string_t>(utility::conversions::to_string_t("my-tenant-123"));
3auto userId = boost::optional<utility::string_t>(utility::conversions::to_string_t("user-456"));
4
5api->getCachedNotificationCount(tenantId.value(), userId.value())
6 .then([](pplx::task<std::shared_ptr<GetCachedNotificationCountResponse>> task) {
7 try {
8 auto response = task.get();
9 // レスポンスを処理
10 } catch (const std::exception&) {
11 // エラーを処理
12 }
13 });
14

通知数取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
optionsconst GetNotificationCountOptions&はい

レスポンス

戻り値: GetNotificationCountResponse

例

getNotificationCount の例
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3GetNotificationCountOptions options;
4options.filter = boost::optional<utility::string_t>(U("unread"));
5options.maxCount = boost::optional<int>(10);
6api->getNotificationCount(tenantId, options)
7 .then([](pplx::task<std::shared_ptr<GetNotificationCountResponse>> t) {
8 try {
9 auto response = t.get();
10 } catch (const std::exception& ex) {
11 }
12 });
13

通知取得 Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringはい
optionsconst GetNotificationsOptions&はい

レスポンス

返却: GetNotificationsResponse

例

getNotifications の例
Copy Copy
1
2GetNotificationsOptions options;
3options.limit = 20;
4options.after = U("cursor-123");
5api->getNotifications(U("my-tenant-123"), options)
6 .then([](std::shared_ptr<GetNotificationsResponse> resp) {
7 (void)resp;
8 });
9

通知更新 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
updateNotificationBodyUpdateNotificationBodyYes
userIdstringNo

レスポンス

返却: APIEmptyResponse

例

updateNotification の例
Copy Copy
1
2auto updateBody = std::make_shared<UpdateNotificationBody>();
3updateBody->title = utility::conversions::to_string_t("System Maintenance");
4updateBody->message = utility::conversions::to_string_t("Scheduled downtime at 02:00 UTC.");
5api->updateNotification(
6 utility::conversions::to_string_t("my-tenant-123"),
7 utility::conversions::to_string_t("notif-456"),
8 updateBody,
9 boost::optional<utility::string_t>(utility::conversions::to_string_t("admin-user"))
10).then([](std::shared_ptr<APIEmptyResponse>){});
11

V1ページリアクション作成 Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
urlIdstringYes
titlestringNo

レスポンス

戻り値: CreateV1PageReact

例

createV1PageReact の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto urlId = utility::string_t(U("https://example.com/articles/789"));
4boost::optional<utility::string_t> title = utility::string_t(U("Understanding Async C++"));
5api->createV1PageReact(tenantId, urlId, title).then([](pplx::task<std::shared_ptr<CreateV1PageReact>> task) {
6 try {
7 auto response = task.get();
8 } catch (const std::exception&) {
9 }
10});
11

V2ページリアクション作成 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
urlIdstringYes
idstringYes
titlestringNo

応答

返り値: CreateV1PageReact

例

createV2PageReact の例
Copy Copy
1
2api->createV2PageReact(
3 utility::string_t(U("my-tenant-789")),
4 utility::string_t(U("https://example.com/articles/12345")),
5 utility::string_t(U("user-42")),
6 boost::optional<utility::string_t>(U("Helpful"))
7).then([](pplx::task<std::shared_ptr<CreateV1PageReact>> task){
8 try{
9 auto response = task.get();
10 }catch(const std::exception&){ }
11});
12

V1ページリアクション削除 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
urlIdstringYes

レスポンス

戻り値: CreateV1PageReact

例

deleteV1PageReact の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto urlId = utility::conversions::to_string_t("page-abc-456");
4api->deleteV1PageReact(tenantId, urlId).then([](pplx::task<std::shared_ptr<CreateV1PageReact>> task){
5 try{
6 auto response = task.get();
7 boost::optional<std::shared_ptr<CreateV1PageReact>> optResponse = response;
8 }catch(...){
9 }
10});
11

V2ページリアクション削除 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
urlIdstringYes
idstringYes

レスポンス

戻り値: CreateV1PageReact

例

deleteV2PageReact の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto urlId = utility::conversions::to_string_t("page-456");
4auto reactId = utility::conversions::to_string_t("react-789");
5boost::optional<utility::string_t> correlationId = utility::conversions::to_string_t("corr-001");
6
7api->deleteV2PageReact(tenantId, urlId, reactId)
8 .then([](pplx::task<std::shared_ptr<CreateV1PageReact>> t) {
9 auto result = t.get();
10 });
11

V1ページいいね取得 Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
urlIdstringYes

レスポンス

返却: GetV1PageLikes

例

getV1PageLikes の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto urlId = utility::conversions::to_string_t("article-789");
4boost::optional<utility::string_t> filter;
5
6api->getV1PageLikes(tenantId, urlId).then([=](pplx::task<std::shared_ptr<GetV1PageLikes>> task){
7 try{
8 auto raw = task.get();
9 auto likes = std::make_shared<GetV1PageLikes>(*raw);
10 auto total = likes->totalLikes;
11 }catch(...){
12 }
13});
14

V2ページリアクション取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
urlIdstringはい

レスポンス

返却: GetV2PageReacts

例

getV2PageReacts 例
Copy Copy
1
2auto tenantId = utility::string_t("my-tenant-123");
3auto urlId = utility::string_t("https://example.com/article/42");
4boost::optional<utility::string_t> locale = utility::string_t("en-US");
5api->getV2PageReacts(tenantId, urlId)
6 .then([locale](std::shared_ptr<GetV2PageReacts> reacts){
7 if (locale) {}
8 })
9 .then([](pplx::task<void> t){
10 try { t.get(); } catch (...) {}
11 });
12

V2ページリアクションユーザー取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
urlIdstringYes
idstringYes

レスポンス

返却: GetV2PageReactUsersResponse

例

getV2PageReactUsers 例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto urlId = utility::conversions::to_string_t("page-456");
4auto id = utility::conversions::to_string_t("react-789");
5boost::optional<utility::string_t> maybeFilter;
6api->getV2PageReactUsers(tenantId, urlId, id).then([](pplx::task<std::shared_ptr<GetV2PageReactUsersResponse>> task){
7 try{
8 auto response = task.get();
9 // 必要に応じてレスポンスを使用
10 }catch(const std::exception&){
11 // エラーを処理
12 }
13});
14

ページ追加 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
createAPIPageDataCreateAPIPageDataYes

応答

戻り値: AddPageAPIResponse

例

addPage の例
Copy Copy
1
2auto createData = CreateAPIPageData{};
3createData.title = utility::string_t(U("Welcome Page"));
4createData.url = utility::string_t(U("https://example.com/welcome"));
5createData.description = boost::optional<utility::string_t>(utility::string_t(U("Landing page for new users")));
6
7api->addPage(utility::string_t(U("my-tenant-123")), createData)
8 .then([](std::shared_ptr<AddPageAPIResponse> response) {
9 if (response && response->success) {
10 // 追加が成功した場合の処理
11 } else {
12 // エラー処理
13 }
14 });
15

ページ削除 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes

レスポンス

戻り値: DeletePageAPIResponse

例

deletePage の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto pageId = utility::conversions::to_string_t("page-456");
4
5api->deletePage(tenantId, pageId)
6 .then([](pplx::task<std::shared_ptr<DeletePageAPIResponse>> t) {
7 try {
8 auto response = t.get();
9 // 必要に応じてレスポンスを処理します
10 } catch (const std::exception& ex) {
11 // エラーを処理します
12 }
13 });
14

オフラインユーザー取得 Internal Link

過去にページにコメントしたが、現在オンラインではないユーザー。displayName でソートされます。
/users/online をすべて使用した後に、"Members" セクションを表示するために使用します。
commenterName に対するカーソルページング: サーバーは部分的な {tenantId, urlId, commenterName} インデックスを afterName 以降へ $gt で進め、$skip コストはかかりません。

パラメータ

名前型必須説明
tenantIdstringはい
urlIdstringはい
optionsconst GetOfflineUsersOptions&はい

レスポンス

返却: PageUsersOfflineResponse

例

getOfflineUsers の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t urlId = U("page-456");
4GetOfflineUsersOptions options;
5options.limit = boost::optional<int>(50);
6options.includeDetails = boost::optional<bool>(true);
7
8api->getOfflineUsers(tenantId, urlId, options)
9 .then([](pplx::task<std::shared_ptr<PageUsersOfflineResponse>> t) {
10 try {
11 auto response = t.get();
12 } catch (const std::exception&) {
13 }
14 });
15

オンラインユーザー取得 Internal Link

現在オンラインのページ閲覧者: 現在そのページにサブスクライブされている WebSocket セッションを持つユーザーです。
anonCount + totalCount を返します (部屋全体の購読者数で、列挙しない匿名閲覧者も含みます)。

Parameters

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
optionsconst GetOnlineUsersOptions&Yes

Response

返却: PageUsersOnlineResponse

Example

getOnlineUsers の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t urlId = U("article-456");
4auto options = std::make_shared<GetOnlineUsersOptions>();
5options->maxResults = boost::optional<int>(100);
6options->includeInactive = boost::optional<bool>(false);
7api->getOnlineUsers(tenantId, urlId, *options).then([](pplx::task<std::shared_ptr<PageUsersOnlineResponse>> task){
8 try{
9 auto response = task.get();
10 }catch(const std::exception&){
11 }
12});
13

URL IDでページ取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
urlIdstringはい

レスポンス

戻り値: GetPageByURLIdAPIResponse

例

getPageByURLId の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto urlId = utility::conversions::to_string_t("page-456");
4boost::optional<utility::string_t> correlationId = boost::make_optional(utility::conversions::to_string_t("corr-789"));
5
6api->getPageByURLId(tenantId, urlId)
7 .then([correlationId](pplx::task<std::shared_ptr<GetPageByURLIdAPIResponse>> task) {
8 try {
9 auto response = task.get();
10 } catch (const std::exception&) {
11 }
12 });
13

ページ一覧取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい

レスポンス

返り値: GetPagesAPIResponse

例

getPages の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3api->getPages(tenantId)
4 .then([](pplx::task<std::shared_ptr<GetPagesAPIResponse>> task) {
5 try {
6 auto response = task.get();
7 boost::optional<utility::string_t> nextCursor = response->nextCursor;
8 } catch (const std::exception&) {
9 }
10 });
11

公開ページ取得 Internal Link

テナントのページ一覧を取得します。FChat デスクトップクライアントがルーム一覧を表示するために使用します。 各ページの解決されたカスタム設定で enableFChat が true である必要があります。 SSO が必要なページは、リクエストしたユーザーのグループアクセス権に基づいてフィルタリングされます。

パラメータ

名前型必須説明
tenantIdstringはい
optionsconst GetPagesPublicOptions&はい

レスポンス

戻り値: GetPublicPagesResponse

例

getPagesPublic の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetPagesPublicOptions options;
4options.limit = boost::optional<int>(50);
5options.cursor = boost::optional<utility::string_t>(U("cursor-token"));
6api->getPagesPublic(tenantId, options).then([](pplx::task<std::shared_ptr<GetPublicPagesResponse>> task){
7 try{
8 auto response = task.get();
9 // 必要に応じてレスポンスを処理
10 }catch(const std::exception&){
11 // 必要に応じてエラーを処理
12 }
13});
14

ユーザー情報取得 Internal Link

テナントのユーザー情報を一括取得します。userId を指定すると、User / SSOUser から表示情報を返します。 プレゼンスイベント経由で新たに現れたユーザーをコメントウィジェットで補完するために使用されます。 ページコンテキストはありません: プライバシーは一律に適用されます(非公開プロフィールはマスクされます)。

パラメータ

名前型必須説明
tenantIdstringはい
idsstringはい

レスポンス

戻り値: PageUsersInfoResponse

例

getUsersInfo の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t ids = U("alice@example.com,bob@example.com");
4boost::optional<utility::string_t> locale = boost::make_optional(U("en-US"));
5
6api->getUsersInfo(tenantId, ids).then([](pplx::task<std::shared_ptr<PageUsersInfoResponse>> t){
7 try{
8 auto response = t.get();
9 // レスポンスを処理
10 }catch(const std::exception&){
11 // エラーを処理
12 }
13});
14

ページパッチ Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
idstringはい
updateAPIPageDataUpdateAPIPageDataはい

レスポンス

返却: PatchPageAPIResponse

例

patchPage の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t pageId = U("page-789");
4UpdateAPIPageData update;
5update.title = boost::optional<utility::string_t>(U("Updated Page Title"));
6update.metadata = boost::optional<utility::string_t>(U("{\"author\":\"jane.doe@example.com\"}"));
7api->patchPage(tenantId, pageId, update)
8 .then([](std::shared_ptr<PatchPageAPIResponse> response) {
9 if (response && response->isSuccess) {
10 // 成功を処理
11 }
12 })
13 .then([](pplx::task<void> t) {
14 try { t.get(); } catch (const std::exception&) {}
15 });
16

保留中Webhookイベント削除 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes

レスポンス

戻り値: APIEmptyResponse

例

deletePendingWebhookEvent の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto eventId = utility::conversions::to_string_t("event-987654");
4boost::optional<utility::string_t> optTenant = tenantId;
5
6api->deletePendingWebhookEvent(optTenant.value(), eventId)
7 .then([](std::shared_ptr<APIEmptyResponse> resp) {
8 (void)resp;
9 })
10 .then([](pplx::task<void> t) {
11 try { t.get(); } catch (const std::exception& e) { }
12 });
13

保留中Webhookイベント数取得 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetPendingWebhookEventCountOptions&Yes

レスポンス

返却: GetPendingWebhookEventCountResponse

例

getPendingWebhookEventCount の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3GetPendingWebhookEventCountOptions opts;
4opts.filter = boost::optional<utility::string_t>(utility::conversions::to_string_t("active"));
5api->getPendingWebhookEventCount(tenantId, opts)
6 .then([](std::shared_ptr<GetPendingWebhookEventCountResponse> resp){
7 auto count = resp->getCount();
8 });
9

保留中Webhookイベント取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
optionsconst GetPendingWebhookEventsOptions&はい

レスポンス

戻り値: GetPendingWebhookEventsResponse

例

getPendingWebhookEvents の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3GetPendingWebhookEventsOptions opts;
4opts.pageSize = boost::optional<int>(100);
5opts.startAfter = boost::optional<utility::string_t>(U("event-abc-456"));
6api->getPendingWebhookEvents(tenantId, opts)
7 .then([](pplx::task<std::shared_ptr<GetPendingWebhookEventsResponse>> task) {
8 try {
9 auto resp = task.get();
10 auto copy = std::make_shared<GetPendingWebhookEventsResponse>(*resp);
11 } catch (const std::exception&) {}
12 });
13

質問設定作成 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
createQuestionConfigBodyCreateQuestionConfigBodyYes

レスポンス

戻り値: CreateQuestionConfigResponse

例

createQuestionConfig の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3CreateQuestionConfigBody configBody;
4configBody.question = utility::string_t(U("How satisfied are you with our service?"));
5configBody.required = true;
6configBody.defaultAnswer = boost::optional<utility::string_t>(utility::string_t(U("Very satisfied")));
7api->createQuestionConfig(tenantId, configBody).then([](pplx::task<std::shared_ptr<CreateQuestionConfigResponse>> task){
8 try{
9 auto response = task.get();
10 }catch(const std::exception&){}
11});
12

質問設定削除 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

レスポンス

返却: APIEmptyResponse

例

deleteQuestionConfig の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto configId = utility::conversions::to_string_t("question-config-456");
4
5api->deleteQuestionConfig(tenantId, configId)
6 .then([](std::shared_ptr<APIEmptyResponse> resp) {
7 // 削除成功を処理
8 })
9 .then([](pplx::task<void> t) {
10 try {
11 t.get();
12 } catch (const std::exception&) {
13 // エラーを処理
14 }
15 });
16

質問設定取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
idstringはい

レスポンス

返却: GetQuestionConfigResponse

例

getQuestionConfig の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto questionId = utility::conversions::to_string_t("question-456");
4
5api->getQuestionConfig(tenantId, questionId)
6 .then([](pplx::task<std::shared_ptr<GetQuestionConfigResponse>> task) {
7 try {
8 auto response = task.get();
9 // 必要に応じてレスポンスを使用してください
10 } catch (const std::exception&) {
11 // エラーを処理する
12 }
13 });
14

質問設定一覧取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
skipdoubleいいえ

レスポンス

戻り値: GetQuestionConfigsResponse

例

getQuestionConfigs の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3boost::optional<double> skip = 10.0;
4api->getQuestionConfigs(tenantId, skip).then([](std::shared_ptr<GetQuestionConfigsResponse> resp){
5 auto config = std::make_shared<GetQuestionConfigsResponse>(*resp);
6});
7

質問設定更新 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes
updateQuestionConfigBodyUpdateQuestionConfigBodyYes

応答

返却: APIEmptyResponse

例

updateQuestionConfig の例
Copy Copy
1
2UpdateQuestionConfigBody updateBody;
3updateBody.enabled = true;
4updateBody.maxResponses = boost::optional<int>{10};
5updateBody.notes = boost::optional<utility::string_t>{U("Config updated via SDK")};
6
7api->updateQuestionConfig(U("my-tenant-123"), U("config-789"), updateBody)
8 .then([](std::shared_ptr<APIEmptyResponse> resp) {
9 })
10 .then([](pplx::task<void> t) {
11 try { t.get(); } catch (const std::exception&) {}
12 });
13

質問結果作成 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
createQuestionResultBodyCreateQuestionResultBodyはい

レスポンス

返却: CreateQuestionResultResponse

例

createQuestionResult の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3CreateQuestionResultBody body;
4body.questionId = U("question-456");
5body.result = U("approved");
6body.comment = boost::optional<utility::string_t>(U("Looks good"));
7api->createQuestionResult(tenantId, body)
8 .then([=](pplx::task<std::shared_ptr<CreateQuestionResultResponse>> t) {
9 try {
10 auto resp = t.get();
11 } catch (const std::exception&) {
12 }
13 });
14

質問結果削除 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes

レスポンス

返却: APIEmptyResponse

例

deleteQuestionResult の例
Copy Copy
1
2boost::optional<utility::string_t> optTenant = utility::conversions::to_string_t( "my-tenant-123" );
3utility::string_t questionId = utility::conversions::to_string_t( "question-456" );
4
5if ( optTenant )
6{
7 api->deleteQuestionResult( *optTenant, questionId )
8 .then( []( pplx::task<std::shared_ptr<APIEmptyResponse>> t )
9 {
10 try
11 {
12 auto resp = t.get();
13 // 成功時の処理
14 }
15 catch ( const std::exception& e )
16 {
17 // エラー時の処理
18 }
19 } );
20}
21

質問結果取得 Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
idstringYes

応答

返却: GetQuestionResultResponse

例

getQuestionResult の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto questionId = utility::string_t(U("question-789"));
4boost::optional<utility::string_t> optionalParam = boost::none;
5
6api->getQuestionResult(tenantId, questionId)
7 .then([](pplx::task<std::shared_ptr<GetQuestionResultResponse>> task) {
8 try {
9 auto response = task.get();
10 } catch (const std::exception&) {
11 }
12 });
13

質問結果一覧取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
optionsconst GetQuestionResultsOptions&はい

レスポンス

戻り値: GetQuestionResultsResponse

例

getQuestionResults の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetQuestionResultsOptions options;
4options.questionId = boost::optional<utility::string_t>(U("question-456"));
5options.includeDeleted = boost::optional<bool>(false);
6api->getQuestionResults(tenantId, options)
7 .then([](pplx::task<std::shared_ptr<GetQuestionResultsResponse>> t) {
8 auto response = t.get();
9 // handle response
10 });
11

質問結果更新 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes
updateQuestionResultBodyUpdateQuestionResultBodyYes

応答

Returns: APIEmptyResponse

例

updateQuestionResult の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto questionId = utility::string_t(U("question-456"));
4UpdateQuestionResultBody body;
5body.result = U("approved");
6body.note = boost::optional<utility::string_t>(U("Reviewed by admin"));
7api->updateQuestionResult(tenantId, questionId, body)
8 .then([](pplx::task<std::shared_ptr<APIEmptyResponse>> t) {
9 try {
10 auto respPtr = std::make_shared<APIEmptyResponse>(*t.get());
11 } catch (const std::exception&) {
12 }
13 });
14

質問結果集計 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
optionsconst AggregateQuestionResultsOptions&Yes

レスポンス

返り値: AggregateQuestionResultsResponse

例

aggregateQuestionResults の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3AggregateQuestionResultsOptions opts;
4opts.questionId = utility::conversions::to_string_t("question-789");
5opts.startDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-01T00:00:00Z"), utility::datetime::ISO_8601));
6opts.endDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-31T23:59:59Z"), utility::datetime::ISO_8601));
7api->aggregateQuestionResults(tenantId, opts)
8 .then([](std::shared_ptr<AggregateQuestionResultsResponse> resp) {
9 static_cast<void>(resp);
10 });
11

一括質問結果集計 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestYes
forceRecalculateboolNo

レスポンス

戻り値: BulkAggregateQuestionResultsResponse

例

bulkAggregateQuestionResults の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3BulkAggregateQuestionResultsRequest request;
4request.questionIds = {
5 utility::conversions::to_string_t("q123"),
6 utility::conversions::to_string_t("q456")
7};
8request.startDate = utility::datetime::from_string(U("2023-01-01T00:00:00Z"));
9request.endDate = utility::datetime::from_string(U("2023-01-31T23:59:59Z"));
10boost::optional<bool> forceRecalc = true;
11api->bulkAggregateQuestionResults(tenantId, request, forceRecalc)
12 .then([](pplx::task<std::shared_ptr<BulkAggregateQuestionResultsResponse>> t) {
13 auto resp = t.get();
14 });
15

コメントと質問結果の結合 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
optionsconst CombineCommentsWithQuestionResultsOptions&Yes

レスポンス

返却: CombineQuestionResultsWithCommentsResponse

例

combineCommentsWithQuestionResults の例
Copy Copy
1
2utility::string_t tenantId = utility::string_t("my-tenant-123");
3CombineCommentsWithQuestionResultsOptions options;
4options.questionId = utility::string_t("question-789");
5options.maxComments = boost::optional<int>(50);
6api->combineCommentsWithQuestionResults(tenantId, options).then(
7 [](pplx::task<std::shared_ptr<CombineQuestionResultsWithCommentsResponse>> task){
8 try{
9 auto respPtr = task.get();
10 auto combined = std::make_shared<CombineQuestionResultsWithCommentsResponse>(*respPtr);
11 // 必要に応じて combined を使用
12 }catch(const std::exception&){
13 }
14 });
15

SSOユーザー追加 Internal Link

パラメーター

名前型必須説明
tenantIdstringYes
createAPISSOUserDataCreateAPISSOUserDataYes

応答

返却: AddSSOUserAPIResponse

例

addSSOUser の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3CreateAPISSOUserData createAPISSOUserData;
4createAPISSOUserData.email = utility::conversions::to_string_t("john.doe@example.com");
5createAPISSOUserData.externalId = utility::conversions::to_string_t("ext-9876");
6createAPISSOUserData.firstName = boost::optional<utility::string_t>(utility::conversions::to_string_t("John"));
7createAPISSOUserData.lastName = boost::optional<utility::string_t>(utility::conversions::to_string_t("Doe"));
8api->addSSOUser(tenantId, createAPISSOUserData)
9 .then([](std::shared_ptr<AddSSOUserAPIResponse> resp) {
10 });
11

SSOユーザー削除 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
idstringはい
optionsconst DeleteSSOUserOptions&はい

応答

戻り値: DeleteSSOUserAPIResponse

例

deleteSSOUser の例
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto userId = U("user-456");
4DeleteSSOUserOptions options;
5options.dryRun = boost::optional<bool>(true);
6api->deleteSSOUser(tenantId, userId, options).then([](std::shared_ptr<DeleteSSOUserAPIResponse> resp) {
7 if (resp) {
8 (void)resp;
9 }
10});
11

メールでSSOユーザー取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
emailstringYes

レスポンス

返却: GetSSOUserByEmailAPIResponse

例

getSSOUserByEmail の例
Copy Copy
1
2auto correlationId = boost::optional<utility::string_t>(utility::conversions::to_string_t("corr-001"));
3
4api->getSSOUserByEmail(
5 utility::conversions::to_string_t("my-tenant-123"),
6 utility::conversions::to_string_t("user@example.com")
7).then([](pplx::task<std::shared_ptr<GetSSOUserByEmailAPIResponse>> t) {
8 try {
9 auto response = t.get();
10 } catch (const std::exception&) {
11 }
12});
13

IDでSSOユーザー取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: GetSSOUserByIdAPIResponse

例

getSSOUserById の例
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto ssoUserId = U("user-789");
4api->getSSOUserById(tenantId, ssoUserId)
5 .then([](std::shared_ptr<GetSSOUserByIdAPIResponse> resp) {
6 boost::optional<utility::string_t> email;
7 if (resp && resp->email) email = resp->email;
8 if (email) {
9 auto e = *email;
10 }
11 });
12

SSOユーザー一覧取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
skipint32_tいいえ

レスポンス

返却: GetSSOUsersResponse

例

getSSOUsers の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3boost::optional<int32_t> skip = 25;
4api->getSSOUsers(tenantId, skip).then([](pplx::task<std::shared_ptr<GetSSOUsersResponse>> t) {
5 try {
6 auto response = t.get();
7 } catch (const std::exception&) {
8 }
9});
10

SSOユーザー更新 Internal Link

パラメーター

名前型必須説明
tenantIdstringYes
idstringYes
updateAPISSOUserDataUpdateAPISSOUserDataYes
updateCommentsboolNo

レスポンス

戻り値: PatchSSOUserAPIResponse

例

patchSSOUser の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t userId = U("user-456");
4UpdateAPISSOUserData updateData;
5updateData.email = U("jane.doe@example.com");
6updateData.displayName = U("Jane Doe");
7boost::optional<bool> updateComments = true;
8
9api->patchSSOUser(tenantId, userId, updateData, updateComments)
10 .then([](pplx::task<std::shared_ptr<PatchSSOUserAPIResponse>> t){
11 try{
12 auto resp = t.get();
13 (void)resp;
14 }catch(const std::exception&){
15 }
16 });
17

SSOユーザー置換 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes
updateAPISSOUserDataUpdateAPISSOUserDataYes
updateCommentsboolNo

レスポンス

返り値: PutSSOUserAPIResponse

例

putSSOUser の例
Copy Copy
1
2UpdateAPISSOUserData userData;
3userData.email = utility::conversions::to_string_t("alice@example.com");
4userData.first_name = utility::conversions::to_string_t("Alice");
5userData.last_name = utility::conversions::to_string_t("Smith");
6userData.role = utility::conversions::to_string_t("moderator");
7
8api->putSSOUser(
9 utility::conversions::to_string_t("my-tenant-123"),
10 utility::conversions::to_string_t("alice.smith"),
11 userData,
12 boost::optional<bool>(true)
13).then([](pplx::task<std::shared_ptr<PutSSOUserAPIResponse>> t) {
14 auto response = t.get();
15});
16

サブスクリプション作成 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataYes

レスポンス

返却: CreateSubscriptionAPIResponse

例

createSubscription の例
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3CreateAPIUserSubscriptionData subscriptionData;
4subscriptionData.email = U("user@example.com");
5subscriptionData.planId = U("premium-plan");
6subscriptionData.couponCode = boost::optional<utility::string_t>(U("WELCOME10"));
7api->createSubscription(tenantId, subscriptionData)
8 .then([](pplx::task<std::shared_ptr<CreateSubscriptionAPIResponse>> task) {
9 try {
10 auto response = task.get();
11 } catch (const std::exception&) {
12 }
13 });
14

サブスクリプション削除 Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
idstringYes
userIdstringNo

レスポンス

返却: DeleteSubscriptionAPIResponse

例

deleteSubscription の例
Copy Copy
1
2api->deleteSubscription(utility::string_t(U("my-tenant-123")), utility::string_t(U("sub-456")), boost::optional<utility::string_t>(utility::string_t(U("user@example.com"))))
3 .then([](std::shared_ptr<DeleteSubscriptionAPIResponse> resp){
4 if (resp) {
5 }
6 });
7

サブスクリプション取得 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
userIdstringNo

レスポンス

返却: GetSubscriptionsAPIResponse

例

getSubscriptions の例
Copy Copy
1
2auto tenant = utility::conversions::to_string_t("my-tenant-123");
3boost::optional<utility::string_t> user = utility::conversions::to_string_t("user@example.com");
4
5api->getSubscriptions(tenant, user).then(
6 [](pplx::task<std::shared_ptr<GetSubscriptionsAPIResponse>> t) {
7 try {
8 auto response = t.get();
9 // レスポンスを処理
10 } catch (const std::exception& e) {
11 // エラーを処理
12 }
13 }
14);
15

サブスクリプション更新 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataYes
userIdstringNo

応答

Returns: UpdateSubscriptionAPIResponse

例

updateSubscription 例
Copy Copy
1
2UpdateAPIUserSubscriptionData subscriptionData;
3subscriptionData.plan = utility::conversions::to_string_t("premium");
4subscriptionData.active = true;
5
6api->updateSubscription(
7 utility::conversions::to_string_t("my-tenant-123"),
8 utility::conversions::to_string_t("sub-987654"),
9 subscriptionData,
10 boost::optional<utility::string_t>(utility::conversions::to_string_t("admin-user-456"))
11).then([](std::shared_ptr<UpdateSubscriptionAPIResponse> response){
12 bool ok = response && response->isSuccess;
13 (void)ok;
14});
15

テナントの日次使用量取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
optionsconst GetTenantDailyUsagesOptions&Yes

レスポンス

戻り値: GetTenantDailyUsagesResponse

例

getTenantDailyUsages の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetTenantDailyUsagesOptions opts;
4opts.startDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-01T00:00:00Z")));
5opts.endDate = boost::optional<utility::datetime>(utility::datetime::from_string(U("2023-01-31T23:59:59Z")));
6api->getTenantDailyUsages(tenantId, opts).then([](std::shared_ptr<GetTenantDailyUsagesResponse> resp){
7 auto result = std::make_shared<GetTenantDailyUsagesResponse>(*resp);
8}).wait();
9

テナントパッケージ作成 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
createTenantPackageBodyCreateTenantPackageBodyはい

レスポンス

戻り値: CreateTenantPackageResponse

例

createTenantPackage の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3CreateTenantPackageBody body;
4body.name = utility::conversions::to_string_t("Pro Plan");
5body.maxUsers = 100;
6body.expiryDate = boost::optional<utility::datetime>(utility::datetime::utc_now() + std::chrono::hours(24 * 30));
7body.notes = boost::none;
8api->createTenantPackage(tenantId, body).then([](pplx::task<std::shared_ptr<CreateTenantPackageResponse>> t){
9 try{
10 auto resp = t.get();
11 }catch(const std::exception&){
12 }
13});
14

テナントパッケージ削除 Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringはい
idstringはい

応答

Returns: APIEmptyResponse

例

deleteTenantPackage の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto packageId = utility::conversions::to_string_t("pkg-456");
4boost::optional<utility::string_t> optTenant = tenantId;
5boost::optional<utility::string_t> optPackage = packageId;
6api->deleteTenantPackage(optTenant.value(), optPackage.value())
7 .then([](std::shared_ptr<APIEmptyResponse>){ })
8 .then([](pplx::task<void> t){ try{ t.get(); }catch(const std::exception&){ } });
9

テナントパッケージ取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: GetTenantPackageResponse

例

getTenantPackage の例
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto packageId = U("pkg-456");
4api->getTenantPackage(tenantId, packageId).then([](pplx::task<std::shared_ptr<GetTenantPackageResponse>> task){
5 try{
6 auto resp = task.get();
7 auto result = std::make_shared<GetTenantPackageResponse>(*resp);
8 }catch(...){}
9});
10

テナントパッケージ一覧取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
skipdoubleいいえ

レスポンス

返却: GetTenantPackagesResponse

例

getTenantPackages の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3boost::optional<double> skip = 20.0;
4api->getTenantPackages(tenantId, skip)
5 .then([](std::shared_ptr<GetTenantPackagesResponse> resp) {
6 (void)resp;
7 });
8

テナントパッケージ置換 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
idstringはい
replaceTenantPackageBodyReplaceTenantPackageBodyはい

レスポンス

戻り値: APIEmptyResponse

例

replaceTenantPackage の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto pkgId = utility::conversions::to_string_t("pkg-456");
4ReplaceTenantPackageBody body;
5body.planId = utility::conversions::to_string_t("enterprise");
6body.notes = boost::optional<utility::string_t>(utility::conversions::to_string_t("Upgrade request"));
7api->replaceTenantPackage(tenantId, pkgId, body)
8 .then([](std::shared_ptr<APIEmptyResponse>) { })
9 .then([](pplx::task<void> t) {
10 try { t.get(); } catch (const std::exception&) { }
11 });
12

テナントパッケージ更新 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes
updateTenantPackageBodyUpdateTenantPackageBodyYes

応答

戻り値: APIEmptyResponse

例

updateTenantPackage の例
Copy Copy
1
2auto body = std::make_shared<UpdateTenantPackageBody>();
3body->packageId = utility::conversions::to_string_t("premium-plan");
4body->expirationDate = utility::conversions::to_string_t("2025-12-31");
5body->notes = boost::optional<utility::string_t>(utility::conversions::to_string_t("Upgraded package"));
6
7api->updateTenantPackage(utility::conversions::to_string_t("my-tenant-123"),
8 utility::conversions::to_string_t("pkg-456"),
9 body)
10 .then([](pplx::task<std::shared_ptr<APIEmptyResponse>> task) {
11 try {
12 auto response = task.get();
13 // 成功時の処理
14 } catch (const std::exception& ex) {
15 // エラー時の処理
16 }
17 });
18

テナントユーザー作成 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
createTenantUserBodyCreateTenantUserBodyYes

レスポンス

返り値: CreateTenantUserResponse

例

createTenantUser 例
Copy Copy
1
2auto body = CreateTenantUserBody{};
3body.email = utility::conversions::to_string_t("newuser@example.com");
4body.firstName = utility::conversions::to_string_t("Alice");
5body.lastName = utility::conversions::to_string_t("Smith");
6body.role = boost::optional<utility::string_t>(utility::conversions::to_string_t("moderator"));
7
8api->createTenantUser(utility::conversions::to_string_t("my-tenant-123"), body)
9 .then([](pplx::task<std::shared_ptr<CreateTenantUserResponse>> task) {
10 try {
11 auto response = task.get();
12 } catch (const std::exception&) {
13 }
14 });
15

テナントユーザー削除 Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringはい
idstringはい
optionsconst DeleteTenantUserOptions&はい

レスポンス

戻り値: APIEmptyResponse

例

deleteTenantUser の例
Copy Copy
1
2DeleteTenantUserOptions options;
3options.reason = boost::optional<utility::string_t>(U("User requested deletion"));
4
5api->deleteTenantUser(U("my-tenant-123"), U("user@example.com"), options)
6 .then([](std::shared_ptr<APIEmptyResponse> resp){
7 (void)resp;
8 });
9

テナントユーザー取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes

レスポンス

返却: GetTenantUserResponse

例

getTenantUser の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto userId = utility::conversions::to_string_t("user@example.com");
4api->getTenantUser(tenantId, userId)
5 .then([](pplx::task<std::shared_ptr<GetTenantUserResponse>> task) {
6 try {
7 auto response = task.get();
8 // 必要に応じてレスポンスを使用
9 } catch (const std::exception&) {
10 // エラー処理
11 }
12 });
13

テナントユーザー一覧取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
skipdoubleいいえ

レスポンス

戻り値: GetTenantUsersResponse

例

getTenantUsers の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3boost::optional<double> skip = 10;
4
5api->getTenantUsers(tenantId, skip).then([](pplx::task<std::shared_ptr<GetTenantUsersResponse>> t){
6 try {
7 auto resp = t.get();
8 } catch (const std::exception&) {
9 }
10});
11

テナントユーザー置換 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes
replaceTenantUserBodyReplaceTenantUserBodyYes
updateCommentsstringNo

レスポンス

返却: APIEmptyResponse

例

replaceTenantUser の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto userId = utility::string_t(U("john.doe@example.com"));
4ReplaceTenantUserBody replaceBody;
5replaceBody.email = utility::string_t(U("john.doe@example.com"));
6replaceBody.role = utility::string_t(U("admin"));
7boost::optional<utility::string_t> updateComments = utility::string_t(U("Promoted to admin"));
8api->replaceTenantUser(tenantId, userId, replaceBody, updateComments)
9 .then([](std::shared_ptr<APIEmptyResponse> resp){ });
10

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes
redirectURLstringNo

レスポンス

戻り値: APIEmptyResponse

例

sendLoginLink の例
Copy Copy
1
2api->sendLoginLink(
3 U("my-tenant-123"),
4 U("user@example.com"),
5 boost::make_optional(U("https://myapp.com/auth/callback"))
6).then([](std::shared_ptr<APIEmptyResponse> resp) {
7});
8

テナントユーザー更新 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
idstringはい
updateTenantUserBodyUpdateTenantUserBodyはい
updateCommentsstringいいえ

レスポンス

返却: APIEmptyResponse

例

updateTenantUser の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t userId = U("user-456");
4UpdateTenantUserBody body;
5body.email = U("john.doe@example.com");
6body.role = U("admin");
7boost::optional<utility::string_t> updateComments = U("Promoted to admin");
8
9api->updateTenantUser(tenantId, userId, body, updateComments)
10 .then([](std::shared_ptr<APIEmptyResponse>){ });
11

テナント作成 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
createTenantBodyCreateTenantBodyYes

レスポンス

戻り値: CreateTenantResponse

例

createTenant 例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3CreateTenantBody body;
4body.setName(utility::conversions::to_string_t("Acme Corp"));
5body.setAdminEmail(utility::conversions::to_string_t("admin@acme.com"));
6body.setPlan(utility::conversions::to_string_t("enterprise"));
7body.setDescription(boost::optional<utility::string_t>(utility::conversions::to_string_t("Primary tenant for Acme")));
8
9api->createTenant(tenantId, body).then([](pplx::task<std::shared_ptr<CreateTenantResponse>> t){
10 auto resp = t.get();
11});
12

テナント削除 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes
surestringNo

レスポンス

戻り値: APIEmptyResponse

例

deleteTenant の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto userId = utility::conversions::to_string_t("user@example.com");
4boost::optional<utility::string_t> sure = utility::conversions::to_string_t("true");
5api->deleteTenant(tenantId, userId, sure)
6 .then([](pplx::task<std::shared_ptr<APIEmptyResponse>> t){
7 try{
8 auto resp = t.get();
9 auto result = std::make_shared<APIEmptyResponse>(*resp);
10 }catch(const std::exception&){})
11

テナント取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
idstringはい

レスポンス

返却: GetTenantResponse

例

getTenant の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto id = utility::conversions::to_string_t("tenant-admin-456");
4boost::optional<utility::string_t> includeDetails = utility::conversions::to_string_t("full");
5api->getTenant(tenantId, id)
6 .then([](std::shared_ptr<GetTenantResponse> resp) {
7 if (resp) {
8 std::wcout << resp->toString() << std::endl;
9 }
10 });
11

テナント一覧取得 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
optionsconst GetTenantsOptions&Yes

レスポンス

Returns: GetTenantsResponse

例

getTenants の例
Copy Copy
1
2GetTenantsOptions options;
3options.includeDeleted = boost::make_optional(false);
4options.searchTerm = boost::make_optional(utility::string_t(U("enterprise")));
5
6api->getTenants(utility::string_t(U("my-tenant-123")), options)
7 .then([](std::shared_ptr<GetTenantsResponse> response) {
8 })
9 .then([](pplx::task<void> t){ try{ t.get(); }catch(...){} });
10

テナント更新 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes
updateTenantBodyUpdateTenantBodyYes

レスポンス

返却: APIEmptyResponse

例

updateTenant の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto recordId = utility::string_t(U("tenant-456"));
4UpdateTenantBody body;
5body.name = boost::optional<utility::string_t>(U("Acme Corp"));
6body.contactEmail = boost::optional<utility::string_t>(U("admin@acme.com"));
7api->updateTenant(tenantId, recordId, body).then([](std::shared_ptr<APIEmptyResponse> resp) {
8 auto log = std::make_shared<utility::string_t>(U("Tenant update succeeded"));
9 (void)resp;
10 (void)log;
11});
12

チケット状態変更 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
userIdstringYes
idstringYes
changeTicketStateBodyChangeTicketStateBodyYes

レスポンス

返却: ChangeTicketStateResponse

例

changeTicketState の例
Copy Copy
1
2auto body = std::make_shared<ChangeTicketStateBody>();
3body->state = U("closed");
4body->comment = boost::optional<utility::string_t>(U("Ticket resolved"));
5api->changeTicketState(U("my-tenant-123"), U("user@example.com"), U("ticket-456"), *body)
6 .then([](std::shared_ptr<ChangeTicketStateResponse>) {});
7

チケット作成 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
userIdstringYes
createTicketBodyCreateTicketBodyYes

レスポンス

戻り値: CreateTicketResponse

例

createTicket の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto userId = utility::conversions::to_string_t("john.doe@example.com");
4CreateTicketBody ticketBody;
5ticketBody.setSubject(utility::conversions::to_string_t("Login Issue"));
6ticketBody.setDescription(utility::conversions::to_string_t("Cannot log in after password reset."));
7boost::optional<int> priority = 2;
8ticketBody.setPriority(priority);
9api->createTicket(tenantId, userId, ticketBody).then([](pplx::task<std::shared_ptr<CreateTicketResponse>> task){
10 try{
11 auto response = task.get();
12 // 必要に応じてレスポンスを使用
13 }catch(const std::exception&){
14 // エラーを処理
15 }
16});
17

チケット取得 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
userIdstringNo

応答

Returns: GetTicketResponse

例

getTicket の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t ticketId = U("ticket-789");
4boost::optional<utility::string_t> userId = U("alice@example.com");
5api->getTicket(tenantId, ticketId, userId).then([](pplx::task<std::shared_ptr<GetTicketResponse>> task){
6 try{
7 auto resp = task.get();
8 }catch(const std::exception&){
9 }
10});
11

チケット一覧取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
optionsconst GetTicketsOptions&はい

応答

返却: GetTicketsResponse

例

getTickets の例
Copy Copy
1
2auto options = GetTicketsOptions{};
3options.page = boost::optional<int>(1);
4options.status = boost::optional<utility::string_t>(U("open"));
5api->getTickets(U("my-tenant-123"), options).then([](pplx::task<std::shared_ptr<GetTicketsResponse>> task) {
6 try {
7 auto response = task.get();
8 auto responseCopy = std::make_shared<GetTicketsResponse>(*response);
9 } catch (const std::exception&) {
10 }
11});
12

翻訳取得 Internal Link

パラメータ

名前型必須説明
r_namespacestringはい
componentstringはい
optionsconst GetTranslationsOptions&はい

レスポンス

返却値: GetTranslationsResponse

例

getTranslations の例
Copy Copy
1
2utility::string_t ns = U("my-tenant-123");
3utility::string_t comp = U("comments");
4auto optsPtr = std::make_shared<GetTranslationsOptions>();
5optsPtr->language = boost::make_optional(U("en"));
6optsPtr->fallback = boost::none;
7api->getTranslations(ns, comp, *optsPtr)
8 .then([](pplx::task<std::shared_ptr<GetTranslationsResponse>> t) {
9 try {
10 auto resp = t.get();
11 } catch (const std::exception& e) {
12 }
13 });
14

画像アップロード Internal Link

画像のアップロードとサイズ変更

パラメーター

名前型必須説明
tenantIdstringYes
fileHttpContentYes
optionsconst UploadImageOptions&Yes

レスポンス

戻り値: UploadImageResponse

例

uploadImage の例
Copy Copy
1
2auto fileStream = concurrency::streams::fstream::open_istream(U("avatar.png"), std::ios::in).get();
3HttpContent file(fileStream, U("image/png"));
4UploadImageOptions options;
5options.description = boost::optional<utility::string_t>(U("Profile picture"));
6options.width = boost::optional<int>(256);
7options.height = boost::optional<int>(256);
8api->uploadImage(U("my-tenant-123"), file, options).then([](pplx::task<std::shared_ptr<UploadImageResponse>> t){
9 auto resp = t.get();
10});
11

IDでユーザーバッジ進捗取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
idstringはい

レスポンス

返却: APIGetUserBadgeProgressResponse

例

getUserBadgeProgressById の例
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto userId = U("user-456");
4api->getUserBadgeProgressById(tenantId, userId)
5 .then([=](pplx::task<std::shared_ptr<APIGetUserBadgeProgressResponse>> t){
6 try{
7 auto resp = t.get();
8 boost::optional<std::shared_ptr<APIGetUserBadgeProgressResponse>> optResp = resp;
9 if(optResp){}
10 }catch(const std::exception&){}
11 });
12

ユーザーIDでバッジ進捗取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
userIdstringYes

レスポンス

戻り値: APIGetUserBadgeProgressResponse

例

getUserBadgeProgressByUserId の例
Copy Copy
1
2boost::optional<std::shared_ptr<APIGetUserBadgeProgressResponse>> responseOpt;
3api->getUserBadgeProgressByUserId(
4 utility::conversions::to_string_t("my-tenant-123"),
5 utility::conversions::to_string_t("user@example.com"))
6 .then([&responseOpt](pplx::task<std::shared_ptr<APIGetUserBadgeProgressResponse>> t) {
7 try {
8 responseOpt = t.get();
9 } catch (...) {
10 responseOpt = boost::none;
11 }
12 });
13

ユーザーバッジ進捗一覧取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
optionsconst GetUserBadgeProgressListOptions&Yes

レスポンス

戻り値: APIGetUserBadgeProgressListResponse

例

getUserBadgeProgressList の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3GetUserBadgeProgressListOptions options;
4options.userId = U("user@example.com");
5options.page = boost::optional<int>(1);
6options.pageSize = boost::optional<int>(20);
7api->getUserBadgeProgressList(tenantId, options)
8 .then([](std::shared_ptr<APIGetUserBadgeProgressListResponse> resp) {
9 if (!resp) return;
10 for (const auto& badge : resp->badges) {
11 // バッジを処理する
12 }
13 });
14

ユーザーバッジ作成 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
createUserBadgeParamsCreateUserBadgeParamsはい

レスポンス

返り値: APICreateUserBadgeResponse

例

createUserBadge の例
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3CreateUserBadgeParams badgeParams;
4badgeParams.userEmail = U("user@example.com");
5badgeParams.badgeCode = U("gold");
6badgeParams.expirationDate = boost::optional<utility::datetime>(utility::datetime::utc_now() + utility::datetime::from_seconds(2592000));
7api->createUserBadge(tenantId, badgeParams).then([](std::shared_ptr<APICreateUserBadgeResponse> resp){
8 if (resp && resp->success) {
9 auto result = std::make_shared<APICreateUserBadgeResponse>(*resp);
10 }
11});
12

ユーザーバッジ削除 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes

レスポンス

返却: APIEmptySuccessResponse

例

deleteUserBadge の例
Copy Copy
1
2auto tenantId = boost::optional<utility::string_t>(U("my-tenant-123"));
3auto badgeId = utility::string_t(U("badge-789"));
4api->deleteUserBadge(tenantId.value(), badgeId)
5 .then([](std::shared_ptr<APIEmptySuccessResponse> resp){
6 auto copy = std::make_shared<APIEmptySuccessResponse>(*resp);
7 })
8 .then([](pplx::task<void> t){
9 try{ t.get(); } catch(const std::exception&){ }
10 });
11

ユーザーバッジ取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes

レスポンス

戻り値: APIGetUserBadgeResponse

例

getUserBadge の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t userId = U("user-456");
4api->getUserBadge(tenantId, userId).then([](pplx::task<std::shared_ptr<APIGetUserBadgeResponse>> t){
5 try{
6 auto resp = t.get();
7 boost::optional<std::string> badgeUrl = resp->badge_url ? boost::optional<std::string>(*resp->badge_url) : boost::none;
8 }catch(const std::exception&){
9 }
10});
11

ユーザーバッジ一覧取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
optionsconst GetUserBadgesOptions&はい

レスポンス

戻り値: APIGetUserBadgesResponse

例

getUserBadges の例
Copy Copy
1
2GetUserBadgesOptions opts;
3opts.userId = boost::make_optional(U("user@example.com"));
4opts.includeExpired = boost::make_optional(false);
5
6api->getUserBadges(U("my-tenant-123"), opts)
7 .then([](pplx::task<std::shared_ptr<APIGetUserBadgesResponse>> t) {
8 try {
9 auto response = t.get();
10 } catch (const std::exception&) {
11 }
12 });
13

ユーザーバッジ更新 Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
idstringYes
updateUserBadgeParamsUpdateUserBadgeParamsYes

応答

戻り値: APIEmptySuccessResponse

例

updateUserBadge の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto userId = utility::conversions::to_string_t("user@example.com");
4UpdateUserBadgeParams params;
5params.badgeId = utility::conversions::to_string_t("vip-badge");
6params.expiration = boost::optional<utility::datetime>(utility::datetime::from_string(U("2024-12-31T23:59:59Z")));
7api->updateUserBadge(tenantId, userId, params)
8 .then([](std::shared_ptr<APIEmptySuccessResponse> resp){
9 std::cout << "Badge updated successfully\n";
10 })
11 .catch([](std::exception const& e){
12 std::cerr << "Error updating badge: " << e.what() << "\n";
13 });
14

ユーザー通知数取得 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
ssostringNo

レスポンス

返却: GetUserNotificationCountResponse

例

getUserNotificationCount の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3boost::optional<utility::string_t> sso = utility::conversions::to_string_t("user@example.com");
4api->getUserNotificationCount(tenantId, sso).then([](pplx::task<std::shared_ptr<GetUserNotificationCountResponse>> t){
5 try{
6 auto resp = t.get();
7 // 必要に応じて resp を使用
8 }catch(const std::exception&){
9 // エラーを処理
10 }
11});
12

ユーザー通知取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
optionsconst GetUserNotificationsOptions&はい

レスポンス

戻り値: GetMyNotificationsResponse

例

getUserNotifications の例
Copy Copy
1
2utility::string_t tenantId = utility::string_t("my-tenant-123");
3GetUserNotificationsOptions options;
4options.limit = boost::optional<int>(20);
5options.unreadOnly = boost::optional<bool>(true);
6api->getUserNotifications(tenantId, options)
7 .then([](pplx::task<std::shared_ptr<GetMyNotificationsResponse>> task){
8 auto resp = task.get();
9 auto notifications = std::make_shared<GetMyNotificationsResponse>(*resp);
10 });
11

ユーザー通知数リセット Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
ssostringいいえ

応答

返却: ResetUserNotificationsResponse

例

resetUserNotificationCount の例
Copy Copy
1
2auto resetTask = api->resetUserNotificationCount(
3 U("my-tenant-123"),
4 boost::optional<utility::string_t>(U("user@example.com"))
5).then([](std::shared_ptr<ResetUserNotificationsResponse> resp){
6});
7

ユーザー通知リセット Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
optionsconst ResetUserNotificationsOptions&はい

応答

返り値: ResetUserNotificationsResponse

例

resetUserNotifications 例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3ResetUserNotificationsOptions options;
4options.email = boost::optional<utility::string_t>(U("user@example.com"));
5api->resetUserNotifications(tenantId, options)
6 .then([](std::shared_ptr<ResetUserNotificationsResponse> resp) {
7 // 応答を処理する
8 });
9

コメント通知購読状態更新 Internal Link

Enable or disable notifications for a specific comment.

パラメータ

名前型必須説明
tenantIdstringYes
notificationIdstringYes
optedInOrOutstringYes
commentIdstringYes
ssostringNo

応答

戻り値: UpdateUserNotificationCommentSubscriptionStatusResponse

例

updateUserNotificationCommentSubscriptionStatus の例
Copy Copy
1
2auto updateTask = api->updateUserNotificationCommentSubscriptionStatus(
3 utility::conversions::to_string_t("my-tenant-123"),
4 utility::conversions::to_string_t("notif-456"),
5 utility::conversions::to_string_t("optedIn"),
6 utility::conversions::to_string_t("comment-789"),
7 boost::optional<utility::string_t>(utility::conversions::to_string_t("sso-token-abc"))
8).then([](std::shared_ptr<UpdateUserNotificationCommentSubscriptionStatusResponse> resp){
9 (void)resp;
10});
11

ページ通知購読状態更新 Internal Link

ページの通知を有効または無効にします。ユーザーがページを購読している場合、通知が作成され
新しいルートコメントのため、そしてまた

パラメータ

名前型必須説明
tenantIdstringはい
urlIdstringはい
urlstringはい
pageTitlestringはい
subscribedOrUnsubscribedstringはい
ssostringいいえ

応答

返り値: UpdateUserNotificationPageSubscriptionStatusResponse

例

updateUserNotificationPageSubscriptionStatus の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t urlId = U("page-456");
4utility::string_t url = U("https://example.com/articles/awesome-article");
5utility::string_t pageTitle = U("Awesome Article");
6utility::string_t subscription = U("subscribed");
7boost::optional<utility::string_t> sso = boost::make_optional<utility::string_t>(U("sso-token-789"));
8
9api->updateUserNotificationPageSubscriptionStatus(tenantId, urlId, url, pageTitle, subscription, sso)
10 .then([](std::shared_ptr<UpdateUserNotificationPageSubscriptionStatusResponse> resp) {
11 // process resp if needed
12 });
13

ユーザー通知状態更新 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
notificationIdstringYes
newStatusstringYes
ssostringNo

レスポンス

返り値: UpdateUserNotificationStatusResponse

例

updateUserNotificationStatus の例
Copy Copy
1
2api->updateUserNotificationStatus(
3 U("my-tenant-123"),
4 U("notif-456"),
5 U("read"),
6 boost::optional<utility::string_t>(U("sso-token-abc"))
7).then([](std::shared_ptr<UpdateUserNotificationStatusResponse> resp) {
8}).wait();
9

ユーザー在席状態取得 Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
urlIdWSstringYes
userIdsstringYes

応答

戻り値: GetUserPresenceStatusesResponse

例

getUserPresenceStatuses の例
Copy Copy
1
2auto tenantId = U("my-tenant-123");
3auto urlIdWS = U("article-789");
4auto userIds = U("alice@example.com,bob@example.com");
5boost::optional<utility::string_t> optionalFilter = boost::none;
6api->getUserPresenceStatuses(tenantId, urlIdWS, userIds)
7 .then([](pplx::task<std::shared_ptr<GetUserPresenceStatusesResponse>> t){
8 try{
9 auto response = t.get();
10 }catch(...){
11 }
12 });
13

ユーザー検索 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
urlIdstringYes
optionsconst SearchUsersOptions&Yes

レスポンス

戻り値: SearchUsersResult

例

searchUsers の例
Copy Copy
1
2utility::string_t tenantId = U("my-tenant-123");
3utility::string_t urlId = U("article-456");
4SearchUsersOptions options;
5options.query = U("john.doe@example.com");
6options.page = boost::optional<int>(1);
7options.pageSize = boost::optional<int>(20);
8api->searchUsers(tenantId, urlId, options).then([](pplx::task<std::shared_ptr<SearchUsersResult>> task){
9 try{
10 auto result = task.get();
11 }catch(const std::exception&){}
12});
13

ユーザー取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: GetUserResponse

例

getUser の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto userId = utility::conversions::to_string_t("user-789");
4boost::optional<utility::string_t> optTag = boost::none;
5
6api->getUser(tenantId, userId)
7 .then([=](pplx::task<std::shared_ptr<GetUserResponse>> task) {
8 try {
9 auto response = task.get();
10 if (!response) {
11 response = std::make_shared<GetUserResponse>();
12 }
13 // 必要に応じてレスポンスを処理
14 } catch (const std::exception&) {
15 // エラーを処理
16 }
17 });
18

投票作成 Internal Link

パラメータ

名前型必須説明
tenantIdstringはい
commentIdstringはい
directionstringはい
optionsconst CreateVoteOptions&はい

レスポンス

返却: VoteResponse

例

createVote の例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto commentId = utility::conversions::to_string_t("cmt-456");
4auto direction = utility::conversions::to_string_t("up");
5auto optionsPtr = std::make_shared<CreateVoteOptions>();
6optionsPtr->userId = utility::conversions::to_string_t("user-789");
7optionsPtr->ipAddress = boost::optional<utility::string_t>(utility::conversions::to_string_t("192.168.1.100"));
8api->createVote(tenantId, commentId, direction, *optionsPtr)
9 .then([](std::shared_ptr<VoteResponse> resp){});
10

投票削除 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
idstringYes
editKeystringNo

レスポンス

戻り値: VoteDeleteResponse

例

deleteVote 例
Copy Copy
1
2auto tenantId = utility::conversions::to_string_t("my-tenant-123");
3auto voteId = utility::conversions::to_string_t("vote-9876");
4boost::optional<utility::string_t> editKey = utility::conversions::to_string_t("edit-abc123");
5
6api->deleteVote(tenantId, voteId, editKey).then([](pplx::task<std::shared_ptr<VoteDeleteResponse>> task) {
7 try {
8 auto response = task.get();
9 // 必要に応じてレスポンスを処理する
10 } catch (const std::exception&) {
11 // エラーを処理する
12 }
13});
14

投票取得 Internal Link

Parameters

名前型必須説明
tenantIdstringYes
urlIdstringYes

Response

戻り値: GetVotesResponse

Example

getVotes の例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto urlId = utility::string_t(U("article-456"));
4boost::optional<utility::string_t> extraHeader = boost::none;
5
6api->getVotes(tenantId, urlId).then([=](pplx::task<std::shared_ptr<GetVotesResponse>> task) {
7 try {
8 auto original = task.get();
9 auto response = std::make_shared<GetVotesResponse>(*original);
10 } catch (...) {
11 // エラー処理
12 }
13});
14

ユーザーの投票取得 Internal Link

パラメータ

名前型必須説明
tenantIdstringYes
urlIdstringYes
optionsconst GetVotesForUserOptions&Yes

レスポンス

戻り値: GetVotesForUserResponse

例

getVotesForUser 例
Copy Copy
1
2auto tenantId = utility::string_t(U("my-tenant-123"));
3auto urlId = utility::string_t(U("post-456"));
4GetVotesForUserOptions options;
5options.page = boost::optional<int>(2);
6options.pageSize = boost::optional<int>(50);
7api->getVotesForUser(tenantId, urlId, options).then([](std::shared_ptr<GetVotesForUserResponse> response) {
8 if (response) {
9 // 応答を処理します。たとえば、投票を反復処理します
10 }
11});
12

ヘルプが必要ですか?

C++ SDK に関して問題が発生した場合やご質問がある場合は、次のいずれかを行ってください:

貢献

ご貢献は歓迎します! 貢献のガイドラインについてはGitHubリポジトリをご覧ください。