0

ユーザーのすべての友達を画面 (fb_friends.rb) に表示する単純な ruby​​ コマンド ライン facebook クライアントを構築しようとしています。 fb_graph ruby​​ gem: https://github.com/nov/fb_graphを使用しています。

問題は、メソッド user.friends が最初にユーザーにアプリケーションを認証させる必要があることです。

ここで同様の質問を読みました: Ruby Command line application to update Facebook Status

私が理解していることから、コマンドラインでユーザーを認証することはできません。私の質問は: ユーザーを認証する他の方法はありますか?

私が考えていること:認証時に、ユーザーのシステムのデフォルトのWebブラウザーがポップアップし、ユーザーはアクセスを許可して認証します。ブラウザーウィンドウが閉じ、ユーザーはコマンドラインアプリに戻り、そこでできるようになります彼の友達のリストを見てください。

それは可能ですか?ありがとう

4

1 に答える 1

0

これは現在、サーバー側の認証トークンを共有しないOpenGraphアプリケーションでは不可能です。Facebookでは、アプリケーション認証トークンの制御を維持する(共有しない)必要があります。ユーザーがコマンドラインアプリケーションを悪用し、アプリIDとトークンを使用してサーバーに多数のリクエストを行う場合は、あなたがオンフックになります。

目標を達成するための最良の方法は、コマンドラインアプリケーションとFacebookグラフAPIの間にサーバーを制御することです。コマンドラインAPIは、ユーザーをWebサイトに誘導し、そこで「FacebookConnect」ボタンを押すことができます。ユーザーはサーバーでアプリケーションを認証し、ユーザーIDとペアにしてステータスの更新を投稿したり、サーバーを介して友達を取得したりできるトークンをユーザーに提供できます。

コマンドラインAPIはサーバーと対話し、サーバーはFacebookGraphAPIと対話します。

このアプローチの強力な副次的な利点は、FacebookのAPIが変更されても、クライアントが壊れないことです(独自のサーバーのAPIを変更する必要はありません)。

于 2013-01-28T08:40:41.750 に答える