[新機能] Box TypeScript SDK Generated

Yuko Taniguchi
Box Developer Japan Blog
7 min readOct 5, 2023

型安全性を選択しようとしていますか? すばらしいことです。ここでは、新機能であるBox TypeScript SDK GENERATEDについて説明します💙。Boxのエンジニアは、SDKの統合と自動生成を進めることを決めました。

新しいBox APIがSDKに組み込まれるのを待つ必要はなくなります。Boxでは、新たな自動生成による開発方法により、はるかに速いペースで新しいBox APIをSDKに追加できるようになりました。これは、アプリケーションですぐに最新機能を活用できることを意味します。 🚀

そのほかにも、多くのリアルタイムの提案や便利な埋め込みドキュメントをエディタで直接入手できます。さらに、プロジェクトでTSを使用すると、エラーの増加を防ぐこともできます。TSは、間違いを早く見つけ、簡単なものに抑えてくれるスペシャリストのような言語です。⛑️🦺

ベストとTypeScriptのロゴが付いたヘルメットを身に着けた猫

このブログ記事では、Box TS SDKの使用をすぐに開始して、Boxのコンテンツクラウド機能でNode.jsアプリケーションを強化する方法について説明します。

前提条件:

⚠️ 注意すべき重要な点: このSDKはまだベータ版であり、細かな改善が現在も行われています。 🔧

プロジェクトを初期化する (Node.js + TypeScript)

それでは、本題に入りましょう。新しいプロジェクトで作業する場合は、ターミナルを開いて、以下を実行します。

  • 新しいディレクトリを作成する
  • ディレクトリを変更する
  • 新しいプロジェクトを初期化する
mkdir box-ts-sdk
cd box-ts-sdk
npm init

次に、依存関係をインストールします。

// Check if you TS is installed on your machine
tsc --version
// Install if missing
npm install -g typescript

// Add types/node package
npm install --save @types/node

// Install Box TypeScript SDK
npm install box-typescript-sdk-gen

// Install dotenv package
npm install dotenv --save

ディレクトリのルートにindex.tsファイルを作成します。トランスパイルしたファイル用のdistフォルダも追加します。さらに、tsconfig.jsonファイルも必要になります。rootDiroutDirのパスを確認して、フォルダ構造と一致するようにします。

// tsconfig.json
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"outDir": "./dist",
"rootDir": "./",
"strict": true,
"moduleResolution": "node",
"esModuleInterop": true,
},
"exclude":[
"./node_modules"
]
}

次に、開発者トークンを取得します。開発者コンソールに移動し、Boxアプリの設定を開きます。[構成] タブで、開発者トークンを生成します。

⚠️ 開発者トークンの有効期間は1時間です。トークンの期限が切れたら、開発者コンソールでそのトークンを取り消す必要があります。

データを安全に保存するために、ルートフォルダに.envファイルを作成し、そこに開発者トークンを貼り付けます。

DEVELOPER_TOKEN=INSERT_YOUR_DEVELOPER_TOKEN

Boxアプリの設定を調整する

さらに、開発者コンソールのアプリの [構成] タブで、[as-userヘッダーを使用してAPIコールを行う] チェックボックスをオンにします。

必ず管理コンソールでアプリを承認してください。詳細については、こちらの手順を説明したガイドを参照してください。

Box TS SDKの使用を開始する

index.tsファイル内の開発者トークンを使用して認証します。最後に、ルートフォルダの項目とすべての管理対象ユーザーをログに記録します。

require('dotenv').config();
import { Client } from "box-typescript-sdk-gen";
import { DeveloperTokenAuth } from "box-typescript-sdk-gen/lib/developerTokenAuth"

async function main(token:string | undefined) {
if (token) {
const auth = new DeveloperTokenAuth({ token });
const client = new Client({ auth });

const entries = (await client.folders.getFolderItems('0')).entries!;
entries.forEach((entry) => console.log(entry));

const users = await client.users.getUsers();
console.log(users.entries);
}
}
main(process.env.DEVELOPER_TOKEN);

ターミナルで次のコマンドを入力して、スクリプトを実行します。

// Transpile TS to JS
tsc
// Run the script
node dist/index.js

このスクリプトは、ルートフォルダの内容のほか、管理対象ユーザーの詳細なリストも示すコンソールオブジェクトにログを記録します。

ここまではほんの始まりにすぎません。ファイルやフォルダの管理、アップロード、ダウンロードのほか、コラボレーション、ワークフローの自動化など、他の可能性を探りましょう。可能性は無限です。Box TypeScript SDK Generatedにより、アプリケーションはBox Platformが提供する強力な機能とシームレスに統合されます。今すぐ、クラウドコンテンツ管理の機能を確認して活用しましょう。

Box開発者向けブログをフォローすると、新しいコードサンプルやチュートリアルの最新情報を入手できます。

質問、バグ、機能リクエストがある場合

問題に関するチケットを確認してください。または、新しいチケットを申請してください。BoxのSDKチームが回答いたします。

🦄 Box Platformの上級者から学びたい場合

サポートや知識共有のためのBox Developer Community (英語のみ) にご参加ください。

--

--