最初の方法は、Facebook のドキュメントのアプリとしてログインの下に記載されています。
アプリとしてログインすると、ユーザーではなくアプリに代わって Facebook API にリクエストを送信できるアクセス トークンを取得できます。これは、アプリのパラメーターを変更したり、テスト ユーザーを作成および管理したり、アプリケーションの分析情報を読み取ったりする場合などに便利です。アプリ アクセス トークンを使用して、アプリケーションに公開許可を付与したユーザーに代わって Facebook にコンテンツを公開することもできます。
ドキュメントに記載されているように、このメソッドはサーバー側のコーディングでのみ使用する必要があります。サーバー側のコーディングでは、(クライアント側のコードと比較して) 悪意のある攻撃者からコードをより安全に保護できます。覚えておいてください:アプリ シークレットは誰とも共有しないことが重要です。アプリ シークレットは、アプリケーション アカウントのパスワードと考えてください。他の人がアプリ シークレットを取得した場合、アプリケーションが危険にさらされる可能性があります。このメソッドは、OAuth 2.0のClient Credential Grantに対応します。
2 番目の方法は、サーバー側のコーディングがないクライアント側のアプリ用です。これにより、アプリは承認されたユーザーに代わって API 呼び出しを行うことができます。SDK のカバーの下では、このメソッドは OAuth 2.0 のImplicit Grantに対応します。
この 2 つの方法があるのは、facebook が OAuth 2.0 を採用しているためです。
2 つの方法の使用法と違いを完全に理解するために、RFC 6749 - The OAuth 2.0 Authorization Frameworkを読むことを強くお勧めします。テキストが読みにくい場合は、 Evernote Clearly on Google Chromeなどの読みやすいアプリを使用できます。OAuth 2.0 の簡略化されたわかりやすいバージョンについては、Aaron Parecki によるOAuth 2 Simplifiedを参照してください。