0

新しい Facebook SDK for Android (3.0) では、setAccessToken メソッドを含む多くの古いメソッドが非推奨になりました。これに代わるもの(私は思う)は openWithImportedAccessToken メソッドです

https://developers.facebook.com/docs/reference/android/3.0/Session#openWithImportedAccessToken(String, Date, Date, AccessTokenSource, List, StatusCallback) .

これを使用した例はありますか?具体的には、アクセス トークンの有効期限と最終更新時刻をどのように取得しますか?

4

2 に答える 2

1

こちらのドキュメントでは、アクセストークンを取得/デバッグして、有効期限や発行時期などのメタデータを取得する方法について説明しています。これらのフィールドを事前に行わない場合は、このエンドポイントを使用できます。

于 2012-11-23T19:49:19.910 に答える
1

特定のパラメーターのデータがない場合は、ここに入力できる適切なデフォルトがあり、最適ではないがそれほど悪くない動作になります。

この API は、3.x Android SDK にアップグレードした後に最初に実行して、以前に保存していた場所からトークンをインポートする場合にのみ呼び出す必要があることに注意してください。その後、SDK はデフォルトでトークン キャッシュを管理します。したがって、最適ではない動作は、このアップグレードに合わせて 1 回だけローカライズする必要があります。

知っているデータを提供します。不明な点については、次のように指定しても問題ありません。

  • 有効期限は今から60日です
  • 最終更新時刻は今です
  • AccessTokenSource は FACEBOOK_APPLICATION です
  • 許可リストが空です

常に同じアクセス許可を要求するため、古いトークンのアクセス許可がわかっている場合は、それらを使用することに注意してください。

これらのパラメーターに正しい値を指定できれば良いのですが、一般的にマイナス面はひどいものではありません。この API に嘘をつくことの欠点は次のとおりです。

  • 有効期限を実際よりも遅く指定することの欠点: トークンの有効期限が切れている場合でも、クライアント側ですぐに気付くのではなく、とにかくリクエストを行い、Facebook サービスにエラーを返させることができます。
  • 最終更新時刻が以前よりも新しいことを指定することの欠点: SDK は、24 時間待機するのではなく、最初の要求でトークンを更新しようとします。
  • AccessTokenSource を FACEBOOK_APPLICATION として指定することの欠点: トークンが WebView からのものである場合、SDK はトークンを更新しようとし、操作は失敗します。最終的にトークンは期限切れになり、その後のログインで AccessTokenSource の値が修正されます。
  • 空のアクセス許可を指定することの欠点: 操作を実行しようとしているときに、操作を実行するためのアクセス許可があるかどうかを確認する必要があります。そうでない場合は、Session.reauthorize() を呼び出してアクセス許可を要求する必要があります。空のリスト (または実際に持っている権限よりも少ない権限) で openWithImportedAccessToken() を呼び出すと、自分には権限がないと考えられ、ユーザーに再度権限を求めることになります。これが、このパーミッションが期待される操作を実行しているユーザーのコンテキスト内にある限り、これはユーザーにとってあまり不快ではありません。
于 2012-11-24T07:05:34.297 に答える