私の目的は、ステータス、フィード、ユーザー名、出身地などのユーザータイムラインから公開データを取得することです。タイムラインデータを取得するためにアクセストークンを使用してHTTPリクエストを送信するJavaのデスクトップアプリケーションを使用しています。トークンには2つのタイプがあり、そのうちの1つは必要なデータを完全に提供し、もう1つは部分的なデータを提供します。両方とも以下に言及します。
タイプ1。 [アクセストークンの取得]をクリックして権限を付与した後、GraphAPIExplorerで生成されます
(これは1時間で期限切れになり、ステータス、ID、ユーザー名、フィードなど、ユーザーのタイムラインから必要なすべてのデータを提供します)。このために、以下のURLを使用して、APIへのHTTP呼び出しを行います。https://graph.facebook.com/<Username>?fields=id,name,statuses.fields(message)&access_token=AAACEd
これにより、応答JSONで言及されているすべてのフィールドが得られます。
タイプ2。アプリの作成後に生成されます。
appIdとappSecretを使用して、短期間のアクセストークンを生成しました。(これは1時間で期限切れになります。)この後、https: //developers.facebook.com/docs/howtos/login/extending-tokens/に記載されているドキュメントとURLを使用して、長期間有効なアクセストークンを生成できます(これらは期限切れになります)約60日で)。
上記のURLでこのトークンを使用して認証すると、目的が解決されず、ユーザーのタイムラインから限られた情報が返されます。「ステータス」フィールドは返されず、タイムラインからの公開フィードはわずかしか返されません。
ここでの問題は、すべてのデータが1時間以内に期限切れになり、アプリケーションで1時間ごとに手動で変更できないアクセストークンと、長寿命であるが完全なデータを提供しない2番目のアクセストークンです。
そのため、アプリで生成されたアクセストークンではなく、長寿命のユーザーアクセストークンが必要です。これにより、すべてのデータが得られます。つまり、上記のタイプ1の長寿命のアクセストークンが必要です。アクセストークンの有効期限を延長するプロセスにはアプリIDとシークレットが必要ですが、GraphAPIExplorerには同じものがありません。
タイプ1の長寿命アクセストークンを取得する方法、または私の目的を達成するための他の方法を提案してください。助けてください。