LineWorks TypeScript SDKは 何処?

2022.10.21既読 829

Lineworksのグループやbot/channelメンバに一斉送信できるようなアプリを作るのに便利なLineWorks SDKのTypeScript言語版は 何処かに提供されていないモノでしょうか?
もし未だLineWorksの仕様変更に逐次追従して更新されるようなtypescript言語用のSDKが提供されていないなら、何処に依頼すればよいのでしょうか?
LineやMicrosoft社のoffice系アプリのSDKみたいなものは、無種で公開されていたり、有償でQ&Aできるサポートサービスが在ったりもするのですが、LineWorksには、開発者向けの有償サポートサービスは無いものでしょうか?
<欲しいものに近いが、陳腐化しつつあるworksmobile-sdk-nodejs
特に、node.js v17以降ではコンパイルすらできなくなっている"jsonwebtoken": "^8.5.1"を使っている。
「Node.js 16」に含まれる「OpenSSL 1.1.1」は、2023年9月11日でサポート期間を満了(EoL)してしまうので、
2024年以降も LineWorks用のSign付きのJson-web-tokenを作ることができると保証されたライブラリの選定が難しい時期です。
<欲しいtypescript用module>
typeScript言語の型チェックは、nullAbleとかreauiredとかを、コンパイル段階やvisial studio coideでのedit段階から支援してくれるので、開発コスト低減に貢献しているので、下記の様に LineWorks API v2.0に準拠した型定義ファイルや、Json-web-tokenの生成moduleとかが 提供されていると、嬉しい。
type TLineWorksTokens = {
   token_type: 'Bearer',
   access_token: string,
   refresh_token: string,
   scope: string,
   expires_in: number
}
type Ti18nLanguage = "ja_JP" | "ko_KR" | "en_US" | "zh_CN" | "zh_TW";
type Ti18nBotName = {
   "language": Ti18nLanguage,
   "botName": string
};
type Ti18nPhotoUrl = {
   "language": Ti18nLanguage,
   "photoUrl": string // "https://example.com/favicon.png"
};
type TBotInfo = {
   botId: bigint, // Bot ID int64
   botName: string, // Bot名
   photoUrl: string // Botプロフィール画像が保存されたURL(PNG形式、640x640サイズ推奨、HTTPSのみ許容)
   i18nBotNames: Ti18nBotName[],
   i18nPhotoUrls: Ti18nPhotoUrl[]
};
type TorgUnit = {
   orgUnitId: string, // 組織ID
   orgUnitExternalKey: string, // 組織のExternalKey
   orgUnitName: string, // 組織名
   orgUnitEmail: string, // 組織のメールアドレス
   primary: boolean, // 代表組織フラグ. 必ず代表(primary: true)を1つ設定してください。 代表を設定しない場合、自動的に一番最初の値が代表に設定されます。required
   positionId: string, // 役職ID 役職設定を使用している場合のみ指定可(既定値: 役職なし)
   positionExternalKey: string, // 役職のExternalKey
   positionName: string, // 役職名
   isManager: boolean, // 組織長フラグ(既定値: false).  既存の組織長が設定されている場合は上書き(既存の組織長は解除される)。
   visible: boolean, // ユーザー公開フラグ(既定値: true) 組織図から組織のユーザーとして表示するかどうか。
   useTeamFeature: boolean, // チーム機能の利用フラグ(既定値: true) 組織に所属しているがトークルームでのメッセージ受信やファイル共有、組織メール受信などのチーム機能を制限したい場合にこのパラメータを利用する。
   // この値がtrueの場合、以下の機能を利用可能。
   // チームトークルームのメンバーとして参加 (トーク、ノート、カレンダー、フォルダの閲覧)
   // 組織宛メールの受信
   // 組織カレンダーの参照、および宛の予定招待の受信
   // 組織宛に共有された掲示板、Drive、アンケート回答
   // 組織をグループのユーザーとして設定した場合、グループのユーザーに含まれる この値がfalseの場合、組織に提供される上記のすべてのチーム機能は利用できない。
   // 組織のユーザーとして所属しているが、上記のようなチーム機能を利用しない場合、この値をfalseに設定する。
};
type TUserOrganization = {
   domainId: number, // ドメインID
   primary: boolean, // 代表ドメインフラグ.  必ず代表(primary: true)を1つ設定してください。 代表を設定しない場合、自動的に一番最初の値が代表に設定されます。
   userExternalKey: string, // ユーザーのExternalKey 「%」、「\」、「#」、「/」、「?」の特殊文字は利用不可。
   email: string, // メールアドレス. アドバンスト/ベーシック/プレミアムプランで原職と兼職に異なるメールアドレスを設定するときに使用。
   levelId: string, // 職級ID 職級設定を使用している場合のみ指定可(既定値: なし)
   levelExternalKey: string, // 職級のExternalKey
   levelName: string, // 職級名
   executive: boolean, // 役員フラグ
   organizationName: string, // 会社名
   orgUnits: TorgUnit[], // 組織リスト minItems : 0, maxItems : 20
}
type TUserInfo = {
   userId: string,
   email: string,
   privateEmail: string,
   userName: {
       lastName: string, // 姓 . 姓、名を合わせて最大80字まで使用できる.  姓と名のいずれか1つは必須. 許容される特殊文字: !@&()-_+[]{},./#'`^~         maxLength : 80        nullable : true
       firstName: string, // 名. 姓、名を合わせて最大80字まで使用できる.  姓と名のいずれか1つは必須. 許容される特殊文字: !@&()-_+[]{},./#'`^~        maxLength : 80        nullable : true
       phoneticLastName: string, // 姓のフリガナ(カタカナのみ許可)        maxLength : 100        nullable : true
       phoneticFirstName: string, // 名のフリガナ(カタカナのみ許可)        maxLength : 100        nullable : true
   },
   i18nNames: {
       language: Ti18nLanguage, // 多言語コード
       firstName: string, // 多言語の名 組織図の多言語の名の後ろに表示 許容される特殊文字: !@&()-_+[]{},./#'`^~ maxLength : 100 nullable : true
       lastName: string, // 多言語の姓 . 組織図の多言語の名の前に表示 許容される特殊文字: !@&()-_+[]{},./#'`^~ maxLength : 100 nullable : true
   }[],
   telephone: string,
   cellPhone: string,
   organizations: TUserOrganization[]
};

コメント0

前の投稿 連絡先リスト取得のAPIの最大件数の超過有無について
次の投稿トークのファイルの取得可否について
リスト

まだ、解決できませんか?
今すぐ実際に使用しているLINE WORKSユーザーに質問してみましょう。