はじめに
オープン性の問題を例に挙げると、米国は常にテクノロジーのトレンドをリードしており、Google Play から Facebook 、Twitter まで、3 つの企業がオープン API を楽しんでいます。オープン化がなければ、Facebook や Twitter がこれほど短期間で台頭することはなかったと推定されており、Google と Microsoft は反撃することができなくなりました。
平均的なプログラマーの観点から見ると、Facebook には 45 個のコア テーブルしかありませんが、その単純さはその能力に影響を与えません。たとえば、WordPress にはテーブルがほとんどありません。この時期、私は Facebook アプリの開発に携わっていましたが、国内の情報がほとんどありませんでした。これは主に中国では Facebook にアクセスできなかったため、Facebook 開発を行う人が非常に少なく、当然情報も少なくなっていました。
知識の準備
Facebook アプリを開発したい場合、最初の知識の準備は壁を回避することです。なぜなら、Facebook は壁の外にあるからです。それから、基本的な英語力も必要です。Facebook には簡単な中国語がありますが、開発者にとってはまだ多くの部分が英語ですが、実際には非常に簡単なので、私のような苦手な英語でも対応できます。
実際、FacebookはC#、Python、Javascript、Javaなどを含む複数の開発言語をサポートしており、Javascript/PHP/Python、Android、iPhone用の公式SDKがあります。したがって、上記の言語のいずれかの開発経験があれば、アプリ開発を行うことができます。実際、私は個人的に最も重要なのは創造性 + Html/CSS/JavaScript だと考えています。サードパーティのプラットフォームに基づいた開発は一般にそれほど強力なアプリケーションではありませんが、結局のところ、少数のユーザーを拾っただけで 2 億人のユーザーが保証されるわけではありません。
要約すると、C#/Java/Python/Javascript のいずれかの開発経験が必要ですが、公式推奨は PHP5 ですが、実際にはそれほど難しくありません。最も重要なことは基本的な Web 言語であり、シンプルですが非常に実用的です。さらに、それほど難しくない単純な SQL ステートメントが必要になる場合があります。
応募する
Facebook アカウントをすでにお持ちの場合は、この手順を無視してください。
実際のDeveloper機能もFacebook上に設置されていますが、入り口が見つからなかったようです。
このとき、Facebook はあなたの本人確認をするだけなので、ご安心ください。
プログラムの基本情報を入力します。 アプリの名前を入力します。その後はプロンプトに従って段階的に作業を進めてください。ここでは繰り返しません。ヒント: プログラム名は他のものと同じにすることができますが、キャンバス ページは競合できません。実際、Facebook にアクセスするプログラムは http://apps.facebook.com/CanvasPage/ を使用してアクセスされるため、キャンバス ページは次のようにする必要があります。基本的に、考えられるすべての良い名前が応募されているので、1 つだけ作成してください。 Facebook は iFrame 統合をサポートできるため、Canvas URL はサーバー上に配置されるアドレスです。
この時点で、アプリケーション キー/アプリ ID/アプリケーション シークレットを取得できます。アプリ キーとアプリ ID は開発時の検証によく使用されます。ここでは、より複雑な設定を無視しましょう。1 つだけ、[有効] として選択できるサンドボックス モードがあります。これは、開発プロセス中に他の人に見られずにプログラムをサンドボックスに入れることができるためです。
デモ
Facebook が提供する API は非常に強力であると言えます。私は Renren と 51 の API をまだ使用したことがなく、それらの API がどのようなものであるか知りません。 Facebook の API は SQL ステートメントを直接書くことができます。もちろん、この SQL ステートメントはセキュリティ審査を受けます。デモを書く前に、Facebook API の構成を簡単に紹介します。
FacebookのAPIは主にFQL/FBML/Graph API/ソーシャルプラグインの4つの部分で構成されており、ソーシャルプラグインは主にOpenIDログインやいいねボタンなどのいくつかのツールをサードパーティのWebサイトに提供します。 FBML は xHTML の一種であり、iFrame を使用する場合は、そのマークアップ言語を無視して自分で記述することができます。したがって、当面はこれら 2 つの API については説明しませんが、主に FQL と FBML について説明します。
FQL は実際には Facebook が提供する SQL ステートメントであり、FQL を通じて Facebook の 45 個のテーブルをクエリできますが、クエリでは結合クエリをサポートしていません。おそらくそうだろう。
クエリするコンテンツは承認されている必要があることに注意してください。SQL ステートメントを指定するだけですべてのユーザー情報を検索できるわけではありません。 FQL では、* を使用してすべてのフィールドをクエリすることはできません。フィールドの名前を直接記述する必要があります。 FQLに関する参考資料はこちらをご覧ください。
認可といえば、これについては以前にたくさんの情報を見つけましたが、デフォルトの認可の場合、ユーザーのメールアドレスなどの多くの情報がnullです。後で、認証を申請する必要があることがわかりました。興味のある友人はここを参照してください。 Javascript における認可とは、FB.login に認可パラメータを追加することを意味します。他の開発言語も同様です。
Graph API に関しては、多くの場合、単純なアプリケーションのみが必要であり、Sql ステートメントを直接チェックする必要がないため、FQL の洗練されたバージョンとして理解できます。たとえば、ユーザーの友達を取得するには、my/friends を使用するだけです。ユーザーアクティビティを取得するには、me/events を直接使用します。このようにして、Graph API を理解することができます。Facebook では、アクティビティ、写真、アプリケーション、ユーザー プロフィールなど、すべてのコンテンツに固有のエンコーディングを適用できます。また、Graph API は、この固有のエンコーディングを通じてこの情報にアクセスできます。 Graph APIの参考資料については、こちらをご覧ください。
最後に、デモ コードを完成させましょう。このデモの作成には Javascript を使用しました。使い慣れた開発言語を選択できます。もう 1 つの小さなトリックは、FBML の代わりに iFrame を選択した場合、プログラムをローカル マシンにデプロイし、Hosts ファイルを変更することでプログラムの DNS をローカル マシンに向けることができることです。変更がサーバーにアップロードされるたびに実行します。
html>
<頭>
<metahttp-equiv="content-type"content="text/html; charset=utf-8">
<タイトル>Hello Worldタイトル>
頭>
<ボディ>
<スクリプトsrc="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">