2

FacebookグラフAPIを使用している場合、その人がそれらの情報を公開すると、その人のすべての公開情報を見ることができます。たとえば、ブラウザを開いてFacebookにログインし、その人のユーザーID番号を知るだけです。 、Mark Zuckerberg-Facebookの創設者はユーザーID#4を持っているので、次のURLにアクセスしてください: https ://graph.facebook.com/4 =>名前、年齢、場所などの基本情報を確認できます。 i in _ https://graph.facebook.com/i with i 100万から100万、ユーザーが情報を公開している限り、100万人のユーザーの情報が表示される場合があります)

または、このリンクにアクセスすると、人のお気に入りや教育などの詳細情報を確認できます... _https://graph.facebook.com/4?access_token = XXX with XXXは一意のコードであり、ログインするたびに変更されます。 Facebook( http://developers.facebook.com/docs/reference/api/で詳細を参照してください)

私の目標は、基本的なJava URLを使用してこれらのリンクに移動し、すべての情報(基本的にはテキスト)を取得してテキストファイルに保存することです。_https://graph.facebook.com/4では問題はありませんが、2番目のリンクがあります。問題は、アクセストークンコードがXXXであるということです。毎回変更されるか、20〜30分後に期限切れになるため、プログラムを実行してより多くのデータを取得できません。質問は、永続的なアクセストークンを取得するか、それをより長く延長する方法があるかどうかです。私は小さなJavaプログラムのみを使用しており、Facebookアプリなどとは何の関係もありません。よろしくお願いします!

4

3 に答える 3

2

残念ながら、永続的なアクセストークンを取得することはできませんが、代わりに、アクセストークンの有効期限が切れたときにエラーをキャッチして、新しいトークンを要求することができます。また、Facebookの利用規約を読んで、違反していないことを確認することもできます。

于 2012-04-08T22:03:34.247 に答える
1

アクセストークンの有効期間を60日に延長できます。あなたはこれを通過することができます:

https://developers.facebook.com/docs/facebook-login/access-tokens/

サーバー側から次の呼び出しを行うと、Facebookは2か月間有効なアクセストークン(拡張アクセストークン)を返します。

GET /oauth/access_token?  
    grant_type=fb_exchange_token&           
    client_id={app-id}&
    client_secret={app-secret}&
    fb_exchange_token={short-lived-token} 
于 2014-07-15T19:47:00.743 に答える
0

永続的なアクセストークンを取得することはできませんが、有効期限が切れた後は非常に簡単に更新できます。その記事がその方法です。魔法のURLは次のとおりです。

https://www.facebook.com/dialog/oauth/?client_id=YOUR_APP_ID&redirect_uri=YOUR_REDIRECT_URL&state=YOUR_STATE_VALUE&scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES
  • client_id
    アプリのID。Javaなどで「オフライン」で作業している場合でも、Facebookアプリを登録する必要がありますが、実際にアプリをプログラムする必要はありません。アプリを登録するだけで、固定のアプリID(ここで必要)を取得でき、問題はありません。
  • redirect_uri
    これは重要なステップです。Facebookはredirect_uriで指定されたURIにリダイレクトし、そのURIに「#access_token=...」を追加します。そのURIを解析して、トークンを取得できます。

上記のリンクをウェブブラウザで呼び出し、http://localhostredirect_uriとして使用すれば、問題ありません。ブラウザは呼び出しを試みhttp://localhost#access_token=....、明らかに失敗しますが、URLを解析してトークンを取得できます。これは非常に単純なプロセスではありませんが、私にとってはうまくいきます。

于 2012-07-11T12:44:06.520 に答える