基本的には、カスタム Facebook ウォール フィードを埋め込む必要があるアプリを作成しています。私はJSONP応答が欲しいだけです...それだけです。
アクセス トークンについて何日も読んだ結果、有効なアクセス トークンなしでグラフ API を使用する方法はないという結論に達しましたが、ユーザーにログインを要求したくありません (ターゲット プラットフォームは、簡単な文字入力に加えて、カスタム ポップアップ キーボードとインタラクション JS を作成する必要があります)。
したがって、私が見つけた唯一のオプションは、Facebookでセットアップしたアプリのアクセストークンを使用することです。しかし、私はアプリの秘密を配布したくないので、APP_ID|APP_SECRET
私が見た方法を使用することができます (それが正確に何であれ)。
だから私の考えは、アプリの秘密を保持するサーバー上にプロキシスクリプトを作成することですフィードを更新するためのそのトークン。
自分のアプリを開いてアクセス トークンを取得した後、別の人が自分のアプリを開いてアクセス トークンを取得した場合、新しいアクセス トークンが生成されると失効しますか? または、同じアプリに対して好きなだけアクセス トークンを生成できますか?
または、誰かがより良いアプローチを考えることができますか?
ワークフロー
- ユーザーがデバイスでアプリを開きます (デバイスは特注の内蔵ユニットです。Raspberry Pi を考えてみてください。ただし、100 倍シンプルで、テレビに接続されています)。
- アプリは、ページの領域に多数のフィードをロードします。これらのフィードには、特定のプロファイルからの Facebook ウォール フィードが含まれます。
- アプリは無人で数日、数週間、数か月実行され、定期的に情報のフィードを更新します。
FB アクセストークンのワークフロー
ユーザーがログインできないため、アクセス トークンを提供する必要があります。セキュリティのためにアプリ シークレットを渡したくありません。したがって、私の考えは、サーバーでホストされている php プロキシ スクリプトを使用してアクセス トークンを取得することです。そのようです:
- 最初にアプリをロードして、トークンを要求するphpプロキシスクリプトへのajax呼び出しを行う関数を実行します
- 私のプロキシ スクリプトは、アプリ ID とシークレットを使用して Facebook へのリクエストを送信し、FB からアクセス トークンを取得します。
- 私のプロキシ スクリプトは、アプリへの jsonp 応答としてそのアクセス トークンをダンプします。
- アプリは jsonp 応答からアクセス トークンを取得し、保存します。
- アプリは、Facebook グラフ API へのすべてのウォール フィード リクエストに対して、取得および保存されたトークンを使用します。
- アプリが何らかの理由でトークンが機能しないことを検出した場合、トークン プロキシ スクリプトから新しいトークンを取得しようとします。
これは、トークン プロキシ スクリプトを使用して、誰かがアプリのソース コードを見た場合に問題を引き起こす情報を提供することなく、アクセス トークンを全員に提供する方法についての私の考えです (これはまったく難しくありません)。ただし、新しいトークンを要求するたびに facebook が古いトークンを削除する場合、これは機能しません。それが当面の質問です。
しかし、問題を回避するより良い方法があれば、私の耳は開いています。ありがとう