公開日:2022.08.23
更新日:2024.07.24
まとめ
公開日:2022.08.23
更新日:2024.07.24
KDDIウェブコミュニケーションズ
自社サービスを開発中、他社の機能と連携するフェーズで、APIやAPI Keyというキーワードを聞いたことがある人は多いでしょう。あるサービスの機能やデータを一部公開し、外部からも活用できる連携状態とそのツールを指しますが、どのような内容なのか具体的に説明できる人は少ないようです。
この記事では、APIの概要と、利用時に必要となるAPI keyについて特徴や使い方を解説します。
APIは「Application Programming Interface」の略称で、ソフトウェア同士が情報をやり取りする際に使用されるインタフェースのことを指します。より細かく表現すると、アプリケーション同士が接続する際のプロトコルや接続部分の仕様を取り決めたもの、と定義されます。
APIキーは、APIサービスの提供事業者が独自に発行している認証情報です。
APIを利用する場合、提供事業者から、APIキーを付与して接続するように要求される場合があります。利用者からAPIキーを通知することで、提供事業者側で次のような判断を行うためです。
利用者の識別 | 接続してきたのが、どのアプリケーションかを判断できる |
---|---|
利用者の承認 | 接続してきた利用者が、サービスを利用する権限を持っているかを判断できる |
APIキーはプロジェクト単位で割り当てることができるため、利用者の使用状況を確認したり、権限を持たない人からの接続を防いだりできます。その結果、セキュリティを高める効果が期待できます。
APIを利用するためには、提供事業者が独自に発行するAPIキーを取得する必要があります。取得方法は利用するAPIによってさまざまですが、一般的には以下のステップを踏みます。
APIキー取得の第一歩は、API提供事業者のサービスにユーザー登録することです。ちなみに登録時には利用者自身の情報の他に、接続するアプリケーションの詳細や利用用途の申請を求められるケースもあります。
また海外サイトの場合は英語での入力が必要になることもありますので、翻訳ソフトなどを利用して正しく登録しましょう。
多くの場合、サービス登録が完了したら各APIサービスの管理画面が登場します。そこからAPIキーの取得が可能です。サービスによっては、取得ではなく作成とも呼ばれます。
APIキーと同様に、APIの提供事業者から発行される情報として、APIトークンと呼ばれる認証コードがあります。APIによって、どちらか一方が利用されているケースもあれば、APIキーとAPIトークンを併用しているケースもあります。
IT業界においてトークンは「何かの証や印になるようなデータ」を指し、キーはその名の通り「鍵」という意味で使われています。いずれも認証の際に必要になる識別子であることから、APIキーとAPIトークンは同義として使われることが多い用語です。
とはいえ言葉の定義から、下記のようなイメージの違いがあります。
認証のためにAPIキーを必要とするかAPIトークンを必要とするかは、APIの提供事業者が自社の方針や業種、アプリケーションの種類によって決定しています。新しくAPIを使い始める際は、利用方法のドキュメントなどから、「どのような認証情報がどのような用途で使われているのか」を確認してから導入しましょう。
APIトークンとよく似た用語で、同じくAPIの提供事業者から発行される認証情報として、「アクセストークン」と呼ばれるものがあります。一見するとこれもAPIキーやAPIトークンと同じ意味の言葉のように思えますが、アクセストークンについては利用用途が異なります。
アクセストークンは認証情報を利用して発行されるもので、一般的に有効期限が設けられています。この使い切りのトークンを利用してサービスにアクセスすることで、重要な認証情報が流出するリスクを軽減させられるのです。
APIキーやAPIトークンをログイン時に必要なID・パスワードだとするなら、アクセストークンは二要素認証のワンタイムパスワードのようなもの、と捉えておくとよいでしょう。
続いては、実際にAPIキーを取得し、APIを使い始めるまでの代表的な流れについて紹介します。細かな進め方は各APIサービスによって違いがあるため、詳しくは利用予定のAPIのマニュアルなどを見るとよいでしょう。
最初にAPIを提供しているサービスに登録します。多くの場合、事前に「API連携を行う予定のサイトURL」や「APIを利用するサイトの概要」などを申告することになるでしょう。
事前に入力した内容から審査される場合もあるようです。利用開始までに時間の余裕を持ちましょう。
サービスへの登録が完了したら、利用者向けの管理画面からAPIキーやシークレットなどの認証情報を取得します。利用するサービスによって名称が変わったり、2つ以上の情報を組み合わせて使ったりする場合もありますので、事前にマニュアル等から利用方法を確認してください。
APIを利用するソフトウェアに、APIキーなどの情報を設定します。完了したら、実際に簡単なリクエストを出して、動作確認をしておくとよいでしょう。
ここまでの工程が完了すれば、APIを利用する事前準備は完了です。
APIを利用したプログラムを実装しましょう。
簡単なものであれば、プログラミングの知識が少ない人にも動かせます。自社のアプリケーションではどのように使うのがよいか、事前に検討してからプログラミングを進めると、より効果的に開発を進められるでしょう。
続いては、開発者がAPIを使うことで得られるメリットについて紹介します。
APIを使うと、提供事業者が公開しているデータや機能を二次利用できます。
自社で一からデータを収集する場合、大変な工数がかかります。入力や調査時のミスによって不正確なデータが混入し、正確性や品質に問題が出る可能性もあるでしょう。
しかしAPIを利用すれば、膨大なデータの収集や登録、最新データへの更新といった自社でやるには大変な作業を、新規で行う必要がなくなるのです。これによって実装したい機能の開発にのみ集中できるようになり、システムの機能拡大や精度の向上、またスピーディーな機能実装を実現できます。
たとえば何かの機能を自社で一から開発する場合、仕様の決定だけでもさまざまなデータ収集が必要になります。また作りたい機能が複雑な処理を必要とする場合、開発工数が大きくなるため、その分だけ機能実装が遅れてしまうことにもなるでしょう。
しかしAPIを活用すれば、提供事業者が公開している機能やデータをそのまま自社サービスに追加できるため、開発の手間やコストが大幅に削減できます。
開発スピードを速められれば、他の機能の開発にリソースを割り振ることも可能になるため、システム全体の開発効率が高まります。結果としてコスト削減だけでなく、開発の品質向上にも役立てられるでしょう。
API連携は、セキュリティ面の向上にもつながります。
例えば利用者の会員情報等を管理する場合、自社で独自に登録画面を作成するとなると、セキュリティを含めた機能についても一から構築しなくてはなりません。
しかしFacebookやTwitterといった世界基準の非常に高いセキュリティ対策を行っているAPIと連携すれば、会員情報はそれらのサービスのセキュリティレベルによって担保されます。独自に個人情報を管理するより、高いセキュリティを保つことが可能となる場合があるのです。
独自にセキュリティを高める開発をするより、有名企業のセキュリティレベルが高いAPIサービスを利用する方が強固になるケースもあるため、状況に応じて利用するとよいでしょう。
APIを利用すると、機能や利便性の共有が可能です。
例えば、大手企業が公開しているログイン機能のAPIを利用すると、登録に必要な情報を再入力しなくて済みます。
利用者にとって、初めて使うアプリの会員登録は面倒な作業です。しかし使い慣れたサービスにログインするだけで登録が完了するのであれば、初めてのサービスでも利用しやすいはずです。
利便性がよく、手間が少ないとなれば、継続してもらえる可能性が高くなり、結果的には自社のアプリケーションの評価向上にもつながるでしょう。
一方、APIの利用にあたって注意しておくべきポイントもあります。
APIキーはAPI提供事業者から、利用者個人またはプロジェクトに対して専用で割り当てられるものです。よってAPIキーを盗まれて不正に利用された場合、悪質なアカウントとして停止されたり、ユーザーの個人情報が盗まれたりする危険性が出てきます。APIキーはパスワードなどの認証情報と同じく、厳重に管理しましょう。
またAPIはマニュアルを参照すれば多少は使いこなせますが、細かく設定するためにはプログラミングやネットワークの知識などが必要になるケースが出てきます。一通り学習しておくとよいでしょう。
Vonageは、電話やSMS・ビデオ・チャット・SNSなど、さまざまなコミュニケーションチャネルをWeb・モバイルアプリケーションやビジネスへ組み込めるクラウドAPIサービスです。自動電話発信や電話転送、対話型IVR、自動SMS通知や二要素認証など、多岐にわたるサービスを実現できます。
コミュニケーションに関わる機能を自社で1から開発するのには多大な工数がかかります。通信の暗号化といったセキュリティ対策など考慮せねばならない点も多く、そのために実装を諦めてしまう企業も少なくありません。
しかしVonage APIと連携すれば、それらの工数をすべてVonage側が担ってくれます。お客様側でのインフラ開発はもちろん、ネットワークの構築・維持コストも必要ありません。ただ数行のコードを書き加えるだけで、自社サービスをマルチチャネル化できるのです。
まとめ
この記事では、APIを利用する際に必要となるAPIキーについて、APIとは何かから解説し、実際の使い方について、よくある方法を紹介しました。
APIを公開する企業は増加しており、APIを利用することで自社のアプリケーションにも手軽に機能を追加できます。
便利なAPIと連携して、自社のサービスをより良いものへと成長させてくださいね。