apeescape2.com
  • メイン
  • Kpiと分析
  • 収益性と効率性
  • エンジニアリング管理
  • Webフロントエンド
バックエンド

ソーシャルネットワークのAPI:現実世界へのインターネットポータル

Googleが2008年5月にYouTubeAPIの最初のバージョンをリリースしてから、そしてFacebookが2010年4月にGraph APIの最初のバージョンをリリースして以来、ソーシャルメディアAPIは大きく成長しました。今日、これらのAPIはソーシャルメディアプラットフォームを検索する機会を提供します。投稿、ユーザー、チャンネル、人口統計データ。また、独自のサービスを作成したり、ユーザーベースについて詳しく知ることもできます。

この記事では、人気のあるソーシャルメディアAPIのいくつかを使用する方法を検討します。

  • Facebook(APIグラフィックおよびマーケティング)
  • インスタグラム
  • ツイッター
  • Youtube
  • Pinterest

また、その制限について説明し、これらのAPIで使用できる最も便利なツールのいくつかについて説明します。次に、この記事では、これらのAPIを次のアプリケーションに統合する方法を見ていきます。 Rails 。



ソーシャルネットワークのAPI:現実世界へのインターネットポータル

ソーシャルネットワークAPIを使用して、ユーザーが自分自身を知っているよりもユーザーをよく知るようにします。 つぶやき

一度に1つのソーシャルネットワークのAPIに焦点を当て、その機能、制限、および利用可能なツールについて説明します。この記事の後半で比較しやすくするために、さまざまなAPIとそのプロパティを持つ配列があります。

APIを使用する前に、まず、OAuthベースのリクエストでアプリケーションに代わって質問を作成するアプリケーションをインストールする必要があります。ユーザーはアプリケーションで自分の情報を認証し、その後、結果のユーザーアクセス識別子を使用してユーザーのデータにアクセスできるようになります。

フェイスブック

SQLと同様のクエリ言語に使用される古いFQL(Facebookクエリ言語)。これは、すべてのFacebookデータにアクセスするために使用できます。

Facebookは2010年4月にGraphAPIの最初のバージョンをリリースしました。この記事の執筆時点での最新バージョンは2.6で、2016年4月12日に導入されました。これは低レベルのHTTPベースのAPIです。データを要求し、投稿を作成し、自動広告キャンペーンを作成します。

ツール

ザ・ APIグラフエクスプローラー これは、FacebookAPIを使用するときに最も一般的に使用されるツールです。これにより、検索エンジンでGraph APIの質問を実行し、結果を調べることができます。アプリケーションのアクセスブロックのいずれかを使用するか、選択したスコープでオンザフライで作成できます。

スキル

Graph APIはRESTベースのAPIであり、一部のノードの各HTTPリクエストからオブジェクトを作成、更新、削除できます。

アクセストークン

Graph APIに質問を実行するには、ユーザーがアプリケーションを正常に承認するとすぐに取得されるアクセストークンが必要です。

スコープ

スコープは、ユーザーに代わって実行できるアクションを決定します。ユーザーがアプリケーションで承認すると、アプリケーションは特定のスコープを要求します。たとえば、スコープpublish_actionsを使用すると、アプリケーションでユーザーからの投稿を公開できます。電子メールスコープを使用すると、アプリケーションはユーザーの電子メールを読み取ることができます。すべてのスコープの完全なレビューはで見つけることができます ドキュメントom 。

publish_actionsのような特定のスコープまたはads_managementアプリケーションを起動する前に、Facebookによるレビューが必要です。

例

Graph APIがどのように機能するかを示すために、APIを使用して投稿を作成、更新、および削除する方法を示します。

独自の投稿を取得するには、GET /me/posts質問を実行します。結果は、メッセージ、created_time、idを含む投稿のリストを含むJSON文字列になります。パラメータprettyを使用できます。または JSONフォーマッター だから答えはそれほど乱雑に見えません。

投稿に関するより多くのデータを取得するには、質問パラメーターとしてフィールドを使用して質問を拡張できます。たとえば、質問me/posts?fields=reactions, pictureそれはあなたに投稿の写真と反応を与えるでしょう。

投稿を作成するには、POSTアクションをに送信します エッジフィード 、例えば。 me/feed、message: hello worldのようなパラメーターを使用します。 Graph APIは、作成した投稿のIDを持つJSONオブジェクトを返します。あなたはアドレスhttp://facebook.com/[post_id]で投稿を見ることができます。

投稿を更新するには、更新するフィールドをパラメーターとして使用して、POSTリクエストを投稿ノードに送信します。例:/[post_id]およびMessage: lorem ipsumのようなパラメータ。 trueまたはfalseの値を持つ成功したインジケーターが返されます。

投稿を削除するには、投稿ID(/[post_id]など)を使用してノードにDELETEリクエストを送信するだけです。戻り値は、成功値がtrueまたはfalseのJSONオブジェクトになります。

すべてのノードとアクションの完全なレビューは、 APIグラフリファレンス 。

マーケティングAPI

ザ・ マーケティングAPI Facebookで最も強力な広告管理ツールの1つであり、アプリケーションを通じて広告に関するインサイダーの洞察を得ることができるため、特筆に値します。

他のGraphAPIメソッドと同じように機能します。ただし、スコープが必要ですads_managementユーザー広告にアクセスするため。 Facebookは、アプリを公開する前に、アプリを確認する必要もあります。

テスト

アプリケーションを作成すると、開発モードになり、アプリケーションダッシュボードに自動的に表示されます(例:https://developers.facebook.com/apps/)。

開発モードでは、管理者、開発者、およびテスターのみがアプリケーションにアクセスできます。テスターと管理者、およびアプリダッシュボードの役割セクションを追加できます。

レビュープロセス

特定の権限が追加された場合、Facebookはアプリを公開する前にアプリを確認する必要があります。レビュープロセスはによって定義されます このガイドのセット 。

レビューのために特定のアイテムを入力するには、アプリダッシュボードのレビューセクションにそれらを追加する必要があります。 Facebookはレビュープロセスを案内し、アプリが承認されると警告を発します。

制限と代替方法

レート制限

アプリケーションは、ユーザーごとに合計で1時間あたり200回の呼び出しを行うことができます。その制限に達すると、API呼び出しでエラーが発生します。

Facebookで投稿を検索する

Facebookは、GraphAPIとFQLを介してFacebookでの投稿とタグの検索を制限します。ただし、 APIGoogle検索 Facebookで公開投稿を検索し、URLのpost-idを使用して、GraphAPIを介して特定の投稿に関する詳細情報を取得します。

プログラミング言語の作成方法

パーソナライズされたオーディエンスデータを取得する

世論 Facebookは、興味、人口統計、またはその他の属性(たとえば、電子メールアドレスのコレクション)に基づいてオーディエンスについて詳しく知るための重要な検索ツールです。

ただし、広告APIを使用してオーディエンスの認識を自動的に作成する方法は見つかりませんでした。これに関する創造的なアイデアや提案があれば、コメントでお知らせください。

インスタグラム

ザ・ Instagram API 2014年4月にリリースされ、ユーザーの投稿を分析して自分の投稿を管理するのに役立つアプリケーションを構築できます。

ツール

この記事の執筆時点でInstagramAPIコンソールは削除されているため、使用することをお勧めします Apigee あなたのブラウザでそれをテストする目的で。

スキル

InstagramAPIはRESTベースのAPIです。彼のすべて 出口点 公式ドキュメントに記載されています。

アクセストークン

Instagram APIへの質問を実行するには、 アクセストークン これは、ユーザーがアプリケーションで承認するとすぐに取得されます。ユーザーがアクセストークンを受け取るには、ユーザーをアプリケーションの認証URLに誘導する必要があります。サーバーは、アプリケーションを承認した後にユーザーをリダイレクトし、後でトークンを読み取ることができます。

スコープ

あなたのアプリケーションは尋ねるかもしれません 許可 異なるたとえば、「基本」では、ユーザーの写真や画像だけでなく、プロフィール情報も読むことができます。 「Public_content」を使用すると、ユーザーに代わって公開プロフィールやマルチメディア素材を読むことができます。

例

Instagram APIがどのように機能するかを示すために、https://api.instagram.com/v1/media/popularメディア出口点に基づいた例を示します。

アクセスブロックがパラメータとして渡された場合、この出口点は現在人気のあるInstagramメディアを返します。結果は、それぞれのマルチメディアID、画像へのリンクを含むJSON投稿のチェーンになります。 好き 、コメント、投稿したユーザー、その他の属性。

使用できます apigee API出口点とそのパラメーターについてテストし、詳細を確認します。

テスト

Instagramプラットフォームで作成された新しいアプリケーションはそれぞれ、 モード サンドボックス 。これは完全に機能する環境であり、レビューのためにアプリケーションを送信する前に、公開されているAPI出口ポイントをテストできます。

アプリケーションをテストするには、段階的なバージョンを作成し、レビューを通過したライブバージョンではなく、そのバージョンですべての質問を実行する必要があります。

レビュープロセス

モードのアプリ サンドボックス 任意のAPI出口点を使用できますが、これらは限られた数のユーザーとメディアに制限されています。これは、アプリケーションを開発およびテストするための優れたメカニズムです。

ライブで起動してInstagramのすべてのコンテンツにアクセスするには、アプリケーションを レビュー 。審査が完了すると、アプリケーションが承認されたユーザーのスコープのみをリクエストできます。

制限と代替方法

人口統計分析

この記事の執筆時点では、Instagramがその情報を提供していないため、パブリックユーザーの年齢、性別、または興味に関する情報を取得する方法はありませんでした。

フォロワーの人口統計データまたはInstagramユーザーのリストを取得するには、各ユーザーを繰り返し処理し、フォロワーまたは経歴の情報に基づいて年齢と性別を判断する必要があります。

この問題に対する優れたデータソリューションは、一部の企業にとって非常に価値のあるサービスになる可能性があります。

レート制限

全ての レート制限 Instagramプラットフォームでは、1時間のスライディングウィンドウ内のアクセスブロックによって制御されます。ライブアプリには、モードアプリよりも高いレート制限があります サンドボックス 。ライブアプリケーションのグローバルレート制限は、現在1時間あたり5,000コールです。

ツイッター

TwitterAPIは リリース 2006年9月に。 パブリックRESTAPI Twitterデータへの読み取りおよび書き込みアクセスを提供します。認証はOAuthを使用して行われます。応答はJSON形式です。

ツール

Twitterには APIコンソールツール 駆動 apigee 、検索エンジンでリクエストをテストするために使用できます。

スキル

REST APIを使用すると、ユーザーがフォローしているツイート、フォロワー、およびユーザーを取得できます。他のツイートでもタグを見つけることができます。

アクセストークン

Twitterでは、ユーザーができるアプリケーションを作成できます 認証する アクセストークンの返却時。認証モデルはOAuthです。

スコープ

アプリケーション設定ページで設定する必要があるアクセス許可は、読み取り専用と読み取りと書き込みの2つだけです。これらの最後のものを使用すると、ツイートを作成したり、ユーザーによる投稿に対して他のアクションを実行したりできます。

例

Twitter APIの使用法を示すために、ユーザーが承認したツイートを取得します。結果は、画像、お気に入り、リツイート、URL、作成日、およびツイートの他の属性を含むJSON文字列です。使用する Apigee API出口点とそのパラメーターについてテストし、詳細を確認します。

テストとレビューのプロセス

現在、TwitterAPIで利用できるレビュープロセスまたはテストモードはありません。

制限と代替方法

人口統計分析

現在、ユーザーのTwitterフォロワーから人口統計データを取得する簡単な方法はありません。強引なアプローチは、各フォロワーを確認し、彼らの経歴や他のソーシャルネットワークの関連アカウントを通じてデータを取得しようとすることです。

後で、データ分析を通じてフォロワーから収集されたデータに基づいて仮定を立てることができます。より多くの情報を取得する別の方法は、Twitterの有料プロジェクトAPIプラットフォームを使用することです。 GNIP 。特に、APIを介してオーディエンスを作成し、それらに関する詳細情報を取得できます。 APIは現在ベータ状態です。

レート制限

Twitterには レート制限 ユーザーごとに15分単位で。アプリに複数のトークンがある場合は、制限に達しないように、パブリック操作用にトークンを置き換えることができます。

Youtube

YouTube Data APIは2013年1月にリリースされました。これにより、アプリケーションにYouTube機能を追加したり、コンテンツを検索したり、YouTubeチャンネルの人口統計を分析したりできます。これは、JSON応答を返すトークンベースのRESTAPIであるOAuthです。

ツール

ザ・ APIエクスプローラー 許可されていないリクエストと許可されたリクエストをテストできます。ブラウザから提供された出口ポイントへのリクエストを実行できます。

装飾の主な目的は何ですか

スキル

特に、アクティビティ、チャット、ライブブロードキャスト、チャネル、ビデオ、およびサブスクリプションを操作できます。ほとんどの出口ポイントでは、YouTubeアカウントで認証する必要があります。

アクセストークン

YouTube Data APIは、次のOAuth2.0プロトコルをサポートしています。 アクセスを許可する プライベートユーザーデータに。ユーザーがアプリケーションで承認されると、アクセストークンを保存する必要があるアプリケーションにリダイレクトされます。

OAuth 2.0認証を使用するには、最初にGoogleデベロッパーコンソールから認証認証情報を取得する必要があります。

スコープ

YouTube Data APIは現在、次のスコープで動作します。

  • SSLフォース -YouTubeアカウントを管理しますが、SSL接続のみを使用します。
  • デフォルト -YouTubeアカウントを管理します。このスコープは、機能的にはyoutube.force-sslスコープと同じですが、SSL接続は必要ありません。
  • 読み取り専用 -YouTubeアカウントを見てください。
  • 上がる -動画をYouTubeにアップロードし、YouTube動画を管理します。
  • バディチャネルを監査する -ネットワーク内のチャネルを受け入れるか拒否するかの基準としてマルチチャネルネットワークによって使用される情報を削除します。

例

YouTube Data APIの使用例として、タイトルと説明に「エンコーディング」が含まれている動画について、次のリクエストの質問を示します。

https://www.googleapis.com/youtube/v3/search?part=snippet&q=coding&key={YOUR_API_KEY}

結果は、タイトル、説明、videold、およびchannelldを含むJSONオブジェクトです。これらの最後のものを使用して、チャネルについて詳しく知ることができます。

パラメータpart何らかのソースから返されたAPIリクエストに必要です。このパラメーターは、API応答に含める必要のあるリソースプロパティを識別します。たとえば、ビデオフィードには、スニペット、contentDetails、fileDetails、player、processingDetails、recordingDetails、statistics、status、suggestions、topicDetailsの部分があります。

APIキーを除く残りのパラメーターは、呼び出しごとに異なります。これについて詳しくは、 APIリファレンスガイド 。

Pinterest

ザ・ Pinterest API 当初は2015年4月にリリースされました。これはRESTfulAPIであり、ボードやフォロワーなど、Pinterestユーザーのデータへのアクセスを提供します。 Pinterest APIはOAuthを使用し、ユーザーコンテンツを操作するときに読み取りと書き込みのアクセス許可を許可します。

ツール

他の人と同様に、Pinterestは出口点をテストして質問するためのAPIエクスプローラーを提供します。あなたは彼らのツールを見ることができます ここに 。

スキル

ザ・ APIREST Pinterestを使用すると、ピンやボードを作成したり、OAuthを使用してPinterestデータについて質問したりできます。

アクセストークン

Pinterestは、OAuth 2.0を使用して、アプリケーションとユーザー間のリクエストを認証します。すべてのリクエストはHTTPS経由で行う必要があります。

スコープ

スコープは、投稿がユーザーに対して何ができるかを決定します。 Pinterestは次のスコープを使用します。

  • none (識別子を知っている必要があります)ユーザーのプロファイル、ボードとピンの詳細、およびボードのピンでGETメソッドを使用します。
  • read_public:ユーザーのピン、ボード、およびでGETメソッドを使用します 好き 。
  • write_public:ユーザーのピンとボードでPATCH、POST、およびDELETEメソッドを使用します。
  • read_relationships:フォロワーとユーザーがフォローしているユーザー(ボード、ユーザー、インタレスト)でGETメソッドを使用します。
  • write_relationships:フォロワーとユーザーがフォローしているユーザー(ボード、ユーザー、インタレスト)でPATCH、POST、およびDELETEメソッドを使用します。

例

Pinterest APIの使用法を示すために、ユーザーの最後のピンを読み取る方法を示します。

https://api.pinterest.com/v1/me/pins/?access_token={your_token}&fields=id,link,note,url,counts,board,created_atユーザーのピンをID、リンク、メモ、URLとともに返します。 好き と再固定します。

テストとレビューのプロセス

アプリケーションは最初は開発モードであり、本番モードでリリースする前にレビューのために提出する必要があります。

制限と代替方法

人口統計分析

ダッシュボードから人口統計データを取得する一般的な方法はありません。ただし、ボード上のバイオからフォロワーや情報を取得したり、他のソーシャルメディアアカウントへのリンクを取得したりすることはできます。一般的なユーザー接続に関する優れたデータソリューションも可能です。

ピン検索

現在、APIを介して特定のタグまたはキーワードを持つピンを検索する方法はありません。 Google Custom Search APIを使用してPinterestピンのみで結果を検索し、URLを介してピンIDを収集することで、この制限を回避できます。このIDは、後でAPIを介してピンに関する情報を取得するために使用できます。

レート制限

各アプリケーション(一意のアプリケーションIDを持つ)では、一意のユーザートークンごとに、出口ポイントごとに1時間あたり1,000回の呼び出しが許可されます。

各API応答は、レート制限の更新を提供するヘッダーを返します。 X-Ratelimit-Limit その特定のリクエストのレート制限であり、 X-Ratelimit-残り 60分のウィンドウに残っているリクエストの数です。

指定された出口ポイントのレート制限を超えると、エラーコードが表示されます 429「リクエストが多すぎます」 。

ソーシャルメディアAPIの比較

バージョン OAuth フォーマット 人口統計
フェイスブック v2.6
初期リリース:2010年4月
OAuth 2 JSON応答を伴うREST要求 サポートされています
インスタグラム v1
初期リリース:2014年4月
OAuth 2 JSON応答を伴うREST要求 サポートされていません
ツイッター v1.1
初期リリース:2006年9月
OAuth 1 JSON応答を伴うREST要求 GNIPでのみサポートされます
Youtube v3
初期リリース:2013年1月
OAuth 2 JSON応答を伴うREST要求 サポートされています
Pinterest v1
初期リリース:2015年4月
OAuth 2 JSON応答を伴うREST要求 サポートされていません

デモアプリケーション モットー

大量のパッケージとソーシャルメディアAPIライブラリのおかげで、これらのAPIを新規または既存のアプリケーションに統合することで、このプロセスはこれまでになく簡単になります。ほとんどのプラットフォームとフレームワークは、これらすべてのAPIの認証の側面を、きちんとしたプラグインアーキテクチャを備えた単一のライブラリに統合する実証済みのサードパーティライブラリです。

この記事では、その方法を見ていきます モットー Rubyの宝石である、Railsアプリケーションに対してこれを非常にエレガントに行います。 モットー に基づく柔軟な認証ライブラリです ワーデン 複数のアクセスを提供するために、認証、登録、アクセス、およびデータストアを実装します。あなたがよりフロントエンド志向の人で、AngularJSに似たものを見たい場合は、チェックしてください この記事 。

モットー このタイプの多くのライブラリと同様に、ソーシャルメディアAPIをサポートするようにまだ構築されていません。これらのソーシャルメディアAPIのそれぞれのサポートは、追加のgemを通じて提供されます。 Rails認証には、この記事で説明した5つのプロバイダーをカバーする次のgemを使用できます。

gem 'omniauth-facebook' gem 'omniauth-pinterest' gem 'omniauth-twitter' gem 'omniauth-google-oauth2' gem 'omniauth-instagram' Railsの最も優れている点の1つは、オープンソースコミュニティによって作成されたプラグインが多数あることです。これらは宝石のように配布されます。中央構成ファイルの下にリストされているこれらのgemは、Bundlerによって管理されています。

これらはこれらの各プロバイダーに認証、登録、アクセス、およびストレージを提供するだけなので、APIクライアント用に次のgemも取得する必要があります。

gem 'twitter' # https://github.com/sferik/twitter gem 'instagram' # https://github.com/facebookarchive/instagram-ruby-gem gem 'koala' # (Facebook API) https://github.com/arsduo/koala gem 'google-api-client' # (YouTube API), https://github.com/google/google-api-ruby-client gem 'pinterest-api' # https://github.com/realadeel/pinterest-api

Omniauthと認証

ユーザーがプロバイダーでアプリケーションを承認できるように、次のパスでリンクを提供できます。

omniauth_authorize_path('user', :facebook) omniauth_authorize_path('user', :instagram) ...

ユーザーの認証後に呼び出しに応答できるようにするには、スコープを使用してOmniauthCallbacksControllerを次のような関数として定義できます。

class AuthenticationsController

これは、アプリケーション内のトークンとデータを使用して新しい認証モデルを追加する場所です。

authentication = where(provider: omniauth.provider, user_id: user.id) .first_or_create do |auth| auth.user = user auth.uid = omniauth.uid auth.secret = omniauth.credentials.secret auth.token = omniauth.credentials.token ... end

API呼び出しを行う

使用方法の例を次に示します コアラ FacebookAPIに質問します。残りのプロバイダーは多かれ少なかれ同様の方法で機能し、gemのREADMEに文書化されています。

Koalaを使用してユーザーデータを取得する方法は次のとおりです。

authentication = user.authentication_for_provider(:facebook) token = authentication.token api = Koala::Facebook::API.new(token) results = api.get_object('me')

その後、APIによって作成されたJSON戻り結果を使用できます。このアプリケーションデモのソースコードは次のとおりです。 GitHubで入手可能 。

最後まで

ソーシャルメディアAPIは、ソーシャルメディアの大規模なデータセットに質問したり、アプリケーションのビッグデータを収集したりするための強力なツールを提供します。これらのAPIの上にサービスを構築することも、それらを使用して独自のアプリケーションやユーザーの洞察を強化することもできます。

Railsと利用可能なgemを使用すると、これらのAPIをRailsアプリケーションに簡単に統合し、アプリケーションとAPIの間の抽象化レイヤーを使用してインターフェースをクエリできます。

破壊的時代におけるデジタルバンキングのイノベーション

収益性と効率性

破壊的時代におけるデジタルバンキングのイノベーション
TopTrackerがフリーランサー向けの支払いソリューションをリリースし、無料のグローバル支払いを可能にする

TopTrackerがフリーランサー向けの支払いソリューションをリリースし、無料のグローバル支払いを可能にする

その他

人気の投稿
してはいけないこと–悪い製品デザインの美しさ(インフォグラフィック付き)
してはいけないこと–悪い製品デザインの美しさ(インフォグラフィック付き)
RESTアシュアードvs。 JMeter:RESTテストツールの比較
RESTアシュアードvs。 JMeter:RESTテストツールの比較
多言語アプリを構築する方法:PHPとGettextを使用したデモ
多言語アプリを構築する方法:PHPとGettextを使用したデモ
伝統的な雇用の終焉—他のギグエコノミー
伝統的な雇用の終焉—他のギグエコノミー
データエンコーディング:PHPおよびMySQLのUTF-8ガイド
データエンコーディング:PHPおよびMySQLのUTF-8ガイド
 
ゲシュタルトの設計原則を探る
ゲシュタルトの設計原則を探る
マネジメントバイアウトプロセスを成功させるには何が必要ですか?
マネジメントバイアウトプロセスを成功させるには何が必要ですか?
ApeeScapeは、世界中の開発者の上位3%を提供し、企業がエリート技術人材の不足に対処できるよう支援します
ApeeScapeは、世界中の開発者の上位3%を提供し、企業がエリート技術人材の不足に対処できるよう支援します
Gulpを使用したJavaScript自動化の概要
Gulpを使用したJavaScript自動化の概要
Android開発者を引き締め、新しいAndroidコンパイラが登場します
Android開発者を引き締め、新しいAndroidコンパイラが登場します
人気の投稿
  • 製品の価格弾力性を知ることで、エコノミストは
  • 価格弾力性の測定方法
  • それは私が知る必要があるすべてかもしれません
  • eスポーツ業界の規模
  • corp c vs corp s
カテゴリー
投資家と資金調達 トレンド ブランドデザイン ヒントとツール 設計プロセス アジャイル プロセスとツール Kpiと分析 収益と成長 人とチーム

© 2021 | 全著作権所有

apeescape2.com