7

バックエンドサーバーからデータにアクセスするためにFacebookログインを使用する必要があるアプリに取り組んでいます。私はこれを検索して、それを手に入れました:

  1. まず、ユーザーはFacebookのユーザー名とパスワードを入力し、次にリクエストがサーバーに送信されます。
  2. ユーザーが認証された場合は、ユーザーのアクセストークンを取得します。
  3. このアクセストークンをサーバーに送信します。
  4. サーバーはこのアクセストークンを確認します。

アプリをFacebookに正常に接続しました。つまり、ユーザーはアプリからFacebookにログインできます。しかし、ユーザーのアクセストークンを取得する方法と、サーバーでこのアクセストークンを確認する方法がわかりません。

このためのサンプルコードを教えてください。久しぶりに立ち往生しているのを手伝ってください。

4

2 に答える 2

1

ベストプラクティスかどうかはわかりませんが、これが私のやり方です。

いずれかの SDK を使用してクライアント デバイスの Android にユーザーをログインさせると、ユーザー アクセス トークンが取得されます。トークンは次のようにアクセスできます

AccessToken token = AccessToken.getCurrentAccessToken();
if (token != null) {
  Toast.makeText(getActivity(), token, Toast.LENGTH_LONG).show();
}

次に、このトークンを POST 変数としてバックエンドに渡すことができます。

'access_token': '32b409xceBV78d2932b409xceBV78d29'

バックエンド SDK を使用して、ユーザー情報を再度取得できます。これはpythonの例です

facebook_graph = facebook.GraphAPI(access_token)

電子メールと fbid がデータベースに保存されているユーザー情報と一致する場合は、アクセスを許可します。

user = get_user(email=facebook_graph['email'], fbid=facebook_graph['fbid'])
login(request, user)
于 2015-08-29T17:31:40.187 に答える
0

Facebook ユーザーのデータにアクセスするには、権限を取得する必要があります。次のリンクが役立つ場合があります。それをチェックしてください... https://developers.facebook.com/docs/howtos/androidsdk/3.0/fetch-user-data/

于 2013-03-19T11:44:36.243 に答える