9

インターネットを備えたミドルウェア システム (セットトップ ボックス内で動作する) の場合、ユーザーがユーザー名とパスワードを入力して最新の通知、メッセージ、その他のカジュアルなものをテレビ画面に表示できる原始的な Facebook インターフェイスを開発したいと考えています。最近のFacebook Graph APIを使用します。

このミドルウェア プログラムは、Java ME を使用してプログラム (この単純な facebook アプリなど) を実行し、インターネットに接続できますが、実際の Web ブラウザーはありません。ブラウザーがなくても任意の URL に接続して JSON 応答を取得できますが、実際のブラウザーなしで認証を行う方法がわかりません。

このような状況でFacebook認証は可能でしょうか?そう思うなら、どのようなアプローチを提案しますか?

ありがとう

4

5 に答える 5

3

Facebook は、信頼できるパートナーに、ユーザー名/パスワードから OAuth 2 トークンを取得するためのプライベート認証 API を提供します。

より複雑なアプローチは、Netflix がデバイスを登録する方法と同様のことを行うことです。

  1. デバイスはサーバーを呼び出してコードを取得します
  2. デバイスは画面にコードを表示し、ユーザーにサーバー上の URL に移動してコードを入力するように指示します
  3. サーバーはユーザーを Facebook にリダイレクトし、OAuth トークンを取得します。ユーザーはデバイスに戻るように指示されます
  4. デバイスはコードでサーバーを呼び出し、OAuth トークンを取得します
  5. デバイスがユーザーに代わって直接電話をかけることができるようになりました
于 2011-08-23T15:23:38.127 に答える
0

過去に、私はスクリーンスクレーパーと呼ばれるツールを使用して(完全な開示:私はそこで働いていました)、Facebookへのログインを自動化しました。基本的に、ブラウザセッションを模倣します。これにより、ユーザーがブラウザで送信したかのように、Facebookに送信されるセッション変数(つまり、ユーザー名、パスワード)を設定できます。

セットトップボックス環境ではスクリーンスクレーパーを使用できない場合があります(ただし、Javaベースであるため、機能する可能性があります)。そうでない場合でも、Javaで同様の戦略を実装できます。ブラウザでHTTP呼び出しを行うと、ログインページが読み込まれ、ユーザーの資格情報が送信されます。ユーザーの情報を安全に保つために、使用するHTTPクライアントライブラリがHTTPSをサポートしていることを確認してください。

CharlesFiddler2、Firebug、Chromeの開発ツールなどのプロキシツールや拡張機能は、ブラウザがリクエストでサーバーに送信しているものを正確に確認するのに役立ちます。

于 2011-08-03T15:51:22.363 に答える
0

かなり複雑で、Facebook のインターフェイスが突然変更される可能性がありますが、可能だと思います。あなたとFacebookの間の契約を破る可能性があります。

あなたがすることは、Facebookをエミュレートすることです。

Facebook アプリケーションをセットアップする必要がある 1 つのパス。ユーザーから承認を取得したら、Graph API を使用して何かを実行できます。

Facebook のログイン プロセスと認証プロセスが必要です。http/https のリクエストとレスポンスにはいくつかのキャプチャ ツールがあります。ヘッダーと本文の両方を分析します。

認証メカニズムを理解したら、それを独自のものに置き換えることができます。その後はすべてGraph API上にあります。

もう 1 つの方法は、Facebook のログインとメッセージおよび通知プロセスをエミュレートすることです。キャプチャと分析が必要です。

于 2011-03-21T01:57:03.960 に答える
0

これは答えではありませんが、私は同じことをしようとしています。別のサーバーを使用してリクエストをプロキシするこの男のブログをチェックしてください: cory wiles ブログ

あなたがそれを理解したら、ここに詳細な回答を投稿してください.. :)

于 2010-07-08T03:55:50.583 に答える
0

「デスクトップ アプリケーション認証」に関するこのドキュメントによると、希望する結果が得られるとは思えません。

Facebook の OAuth 実装には、明示的なデスクトップ アプリケーションのサポートは含まれていません。ただし、デスクトップ アプリケーションに Web ブラウザーを組み込むことができる場合は、JavaScript クライアントで使用されるものと同じ OAuth ユーザー エージェント フローを使用して、Facebook サポートをアプリケーションに簡単に追加できます。

ただし、Microsoft の Xbox 360 Facebook アプリケーションはまさにあなたが提案していることを行うため、特定のベンダーがこれを行うことは明らかに可能です。Facebookが最も明白なドキュメントで望んでいない、これを行うためのAPIを誰かが掘り起こしたかどうかを知りたい.

于 2010-05-07T04:02:09.370 に答える