メインコンテンツへスキップ
本記事では、社内アプリの開発フローおよび権限管理に関するよくある質問について説明します。DingTalk オープンプラットフォームを利用してアプリ開発を行う企業の開発者向けの内容であり、主に組織管理者および開発権限を持つ技術担当者を対象としています。

企業認証アプリとは

企業認証アプリは組織単位のアプリであり、DingTalk 初期バージョンにおけるアプリ形態の一つです。このタイプのアプリを利用するには、企業の一意の識別子(組織ID、つまり CorpId)とセキュリティキー(企業シークレット、つまり CorpSecret)に基づいて専用の API 認証情報を生成する必要があります。生成した API 認証情報を使用することで、OpenAPI、Webhook、Stream などのさまざまな開発機能にアクセスして利用できます。
企業認証 API の閲覧および操作権限は組織管理者に限定されており、その他のユーザーはこれらの操作を行えません。

企業認証 API とは

DingTalk 開発者管理画面 にログインし、その他 > 基本情報 > 開発情報(旧バージョン) をクリックすると、開発者は企業識別子(CorpId)と企業シークレット(CorpSecret)を確認・記録できます。これらの 2 つの情報を使用することで、開発者は専用の API 認証情報を生成でき、この認証情報を用いて OpenAPI を呼び出します。この一連のプロセスを企業認証 API と呼びます。
これは初期のオープンプラットフォームの歴史的経緯による製品です。必要な場合は、社内アプリの方式で OpenAPI を呼び出すことを推奨します。詳細は 社内アプリのアクセス認証情報を取得する を参照してください。

企業認証 API を停止する方法

企業シークレット(CorpSecret)は直接削除できないため、企業認証 API 機能を停止したい場合は、送信元 IP ホワイトリストを変更することで論理的に無効化できます。 操作パス:開発者管理画面にログイン → アプリ管理 → 対象アプリ → 安全設定 → 送信元 IP アドレスを変更。 具体的な手順
  1. DingTalk 開発者管理画面 にログインします。
  2. アプリリストから対象アプリを選択し、詳細ページに移動します。
  3. 安全設定 をクリックします。
  4. 「送信元 IP アドレス」フィールドに無効なパブリック IP アドレス(例:0.0.0.0)を入力します。
  5. 【保存】ボタンをクリックして設定を完了します。
説明:無効な IP を設定すると、外部サービスは既存の認証情報を使用して API を正常に呼び出せなくなり、認証 API を停止する効果が得られます。

よくある質問のトラブルシューティング

ミニプログラム開発ツールで社内アプリをデバッグする際に「申し訳ございません。このアプリの利用可能範囲に含まれていません。管理者に設定の変更を依頼してください」と表示される

回答:社内アプリのデバッグ時に上記のメッセージが表示される原因として、以下のようなケースが考えられます(これらに限定されません)。
  1. デバッグを行うメンバーが開発者リストに含まれていない。開発者管理画面 > 対象アプリ > メンバー管理 で開発者を設定する必要があります。
  2. 該当の社内アプリのバージョンがアップロードされていない。ミニプログラム開発ツールで該当アプリのバージョンをアップロードし、その後 開発者管理画面 > 対象アプリ > バージョン管理とリリース でバージョンをリリースしてください。
  3. 開発者管理画面 > 対象アプリ > バージョン管理とリリース > 利用可能範囲 に該当メンバーが設定されていない。

説明

社内アプリのミニプログラムは、ミニプログラム開発ツールでバージョンをアップロードし、バージョン管理とリリースでバージョンをリリースした後に、利用可能範囲が表示されます。

社内マイクロアプリおよびミニプログラムに AppKey と AppSecret が表示されない

回答:作成済みのアプリに AppKey と AppSecret が表示されない原因として、以下が考えられます。
  • 開発者管理画面で社内アプリを作成する際に、開発方式として 販売パートナーによる委託開発 を選択したため、アプリ管理に表示されない。

説明

実際には委託開発が不要な場合は、企業による自主開発 を選択してください。
  • アプリの作成者ではなく、関連する権限がないため AppKey と AppSecret を閲覧できない。スーパー管理者に連絡し、DingTalk 管理者管理画面 > 安全と権限 > 権限管理 ページで、対応するアプリ管理権限を追加してもらう必要があります。