見出し画像

SNSのAPIについて

はじめまして。D2C dotおきなわの川満です。
以前、こちらで紹介してもらいました。4月から正式に社員となり、頑張っています。

今回は、APIについて調べましたので紹介させていただきます。


■そもそもAPIとは

画像1

APIとは「Application Programming Interface(アプリケーションプログラミングインターフェイス)」の略です。
「アプリケーション」や「プログラミング」は聞く機会が多いと思いますが、「インターフェイス」については首を傾げる方もいらっしゃるのではないでしょうか。
「インターフェイス」は「人間と機械(コンピューターなど)をつなげるもの」という認識が多く身近なもので例えるのなら、マウスやキーボード、テレビのリモコンなどがインターフェイスに当たります。人間の指示をシステムにわかるように伝えてくれるもの、ということですね。
これを踏まえた上でのAPIの意味は、「アプリケーションの開発者が、他のハードウェアやソフトウェアが提供している機能を利用するための手法」になります。
現在はWebによる通信で利用されているものが多いため、APIと記述される場合の多くは「WebAPI」を意味していることが多いので、この記事でもAPIと記述するときはWebAPIを指します。


■APIを利用すると何ができるのか?

今回はSNSのAPIによってできることのうち代表2つを紹介します。

1.ソーシャルログイン

画像2

ソーシャルサインインとも呼ばれます。ユーザーが使い慣れた既存のSNSアカウントを利用して、Webサイトやサービスにログインできる機能です。FacebookやTwitterなどを思い浮かべる方が多いと思いますが、他にも Yahoo! Japan ID や LINE、Amazon など馴染み深いサービスも参入してきています。

2.共有/シェア

画像3

Twitterから特定のツイートをLINEに共有したい時、ゲームからFacebookへ投稿したい時……各サービスの共有ボタンを押しますよね? 別サービスへ共有したい時にも、APIを使用します。

よく使われる例として、以上の二つを紹介しました。
他にもデータ分析などに役立てる使い方として、「投稿に対する反応数の取得」や「フォロワーの情報取得」などありますが、興味があればGoogle先生にお聞きください。


■なぜAPIが公開されているのか?

APIを公開しているのはほとんどが企業です。企業が自社のサービスの機能を他者に提供することによって得られるメリットは、主に3つ存在します。

1.自社のサービスを知ってもらえる
例えば、GoogleやTwitter、Facebookなどのアカウントを使って別サービスの新規アカウントを作成する機能は、アカウント元のサービスを利用していなければ使えません。Googleなどはサービスの存在を知ってもらい、新規ユーザーを獲得できるという利点があります。

2.利用者の使用データが増える
使用する時間が増えることで、そのデータを得ることができます。データの母数は多いに越したことはありません。情報が増えればより細かい分析を行うことができるのです。アナリストが一番喜ぶと思います。

3.サービス全体が賑わい、利用者数が増える
例えば、FacebookがAPIでログイン機能を提供したとすると、その機能を使って別のSNSが出現するかもしれません。そうしてだんだんとSNSの種類が増えていき、SNSを利用する人も増えSNS全体が賑わうことになります。


■APIを利用したほうがいい理由は?

画像4

APIは企業だけでなく個人のサービスにも利用することができ申請の仕方は各サービスそれぞれです。
提供元としてはユーザーの情報を提供することになるわけですから、申請を許可するかどうかは慎重です。少なくとも、申請を送って数分で許可が返ってくるようなことはありません。審査がありますから、早くても数時間、遅いと数ヶ月という長い時間がかかります。
その審査を越えてでもサービスにAPIの使用を勧める理由は、こちらも3つ存在します。
APIを利用したログイン機能を例に出して説明していきます。

1.開発効率アップ、コスト削減が可能
新規アカウント用の変数を作り、間違った入力値がないかを判定、入力された情報のすべてを収め……と、機能のすべてを一から作るとなると時間がかかります。しかしAPIを利用すれば機能すべてを作る必要がなくなるため、開発時間の短縮、その分のコストも削減できます。

2.セキュリティ面の向上
APIを公開しているサービスは、セキュリティ対策もしっかり施されている場合がほとんどです。新たに作るよりも利用者の安心感は高くなります。もちろん、他サービスのユーザー情報の利用には、利用者に許可を求める必要があります。

3.利用者にとっても便利
ログインする際に指定のサービスとの接続だけで済むのは、利用者としても毎回IDやパスワードを打ち込む必要がないので、便利です。


■SNSにはどんなAPIがあるのか

画像5

APIが便利ということは伝わったと思います。長くなりましたがここからが本題です。
世の中にはたくさんのSNSがありますので、日本での使用度が高いSNSを抜き出して紹介します。公式ドキュメントと申請する方法を紹介しているサイトのURLを載せていますので、興味がある方はぜひ御覧ください。

1.Facebook
「Facebook Graph API」というAPIです。Facebook Developerに登録すると使用できます。FacebookとInstagramは他に紹介するSNSよりも許可までの期間が長く、基準も厳しい印象です。
・使用例
Facebookの投稿をサイトに埋め込みたい
自分の投稿の反応の数値を記録したい

2.LINE
「LINE Messaging API」というAPIです。LINEというアプリの性質上、他のAPIとは違って、数値を取ったりすることはできません。しかし特定の言葉に対して反応するなど、簡易botのようなものを作ることができます。一方的にメッセージを送るには、trial、または有料プランが必要になります。
・使用例
LINEへ投稿を共有したい
メッセージに対して反応を返すbotを作成したい

3.Twitter
Twitter Developerへ登録後、使用できます。複数あるので目的に合ったAPIを使用します。2018年7月から制限が厳しくなったようで、却下されることも多くなったようです。
それでも足りない情報等は教えてくれるようなので、その情報を追加したら無事通った! という方もいます。
・使用例
特定のキーワードを含むツイートを取得したい
自分の投稿に対する反応の数値を記録したい

4.Google
私が今、最も使っているAPIになります。Googleはサービスが幅広いので、それぞれ連携して数値を取得するなど、できることが多いです。以前、Analyticsから自動的にデータを取得するコードを書いたりしました。
・使用例
Googleドキュメントにエラーログを記録したい
今日に登録されているカレンダーの予定を知りたい

InstagramのAPIもあるのですが、旧API(Instagram API)に代わって「Instagram Graph API」という新APIが提供されるようになってからは、制限が厳しくなってしまいました。
他のAPIに比べ、審査などが厳しく、個人には向かないので、ここでは紹介していません。


■まとめ

長くなった上にAPIの紹介のようになりましたが、SNSのAPIに限らず、APIは難しくないよ! ということもわかっていただければ幸いです。
私はTwitterでbotを作ってみたかったので、制限が厳しくなったのがとても残念です。
まずはAPIを使ってみたいという方には、Google Apps Scriptをおすすめします。Googleドライブ、スプレッドシート、ドキュメント、Analytics、HTMLまで、様々なことをお試しできます。使用言語もJavascriptベースなので難しくないです。
APIを活用したサービスがもっと増えて、Web業界やIT業界がにぎやかになってくれるといいですね。



この記事が気に入ったらサポートをしてみませんか?