0

まず、Facebook にログインでき、既にアクセス トークンを に保存していますSharedPreferences

ただし、このコードを試してみると:

JSONObject json_data = null;
try    
{
    JSONObject response = Util.parseJson(new Facebook(Define.APP_ID).request("me/friends"));

    JSONArray jArray = response.getJSONArray("data");

    json_data = jArray.getJSONObject(0);
    String name = json_data.getString("name");


}
catch (MalformedURLException e)
{
    e.printStackTrace();
}
catch (JSONException e)
{
    e.printStackTrace();
}
catch (IOException e)
{
    e.printStackTrace();
}
catch (FacebookError e)
{
    e.printStackTrace();
}

「現在のユーザーに関する情報を照会するには、アクティブなアクセス トークンを使用する必要があります」というエラーが表示されました。

私は何をすべきか?私はすでにアクセストークンを持っています。

4

2 に答える 2

0

FacebookObjectから直接リクエストを行うべきではありません。Facebook最初にオブジェクトを作成してからAccessToken、有効期限を設定してから、以下のようにリクエストを実行する必要があります。

FaceBook fb = new FaceBook(APP_ID);

fb.setAccessToken("youraccesstoken");
fb.setAccessExpires(expires);//expires is your milliseconds time.

次に、次のようにリクエストを行いますfb.request("me/friends");

有効な認証済みセッションなしで情報を要求しています。したがって、そのエラーが発生します。認証を行い、アクセストークンを設定すれば問題ありません

于 2013-02-01T08:53:15.863 に答える
0

Facebook SDK for Android 3.0 を使ったほうがいいのではないでしょうか。コールバックで友達のリストを返すクラスexecuteMyFriendsRequestAsync(Session session, Request.GraphUserListCallback callbackからのメソッドがあります。Request入門ガイドはこちら: https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android/3.0。このガイドのサンプル コードを使用して、実行されるリクエストのタイプを変更すると、提供したコードで取得しようとしているのと同じ情報が取得されます。

于 2013-02-01T09:06:08.343 に答える