gpt4 book ai didi

Android 应用程序使用 Facebook 登录 : An active access token must be used to query information about the current user

转载 作者:太空狗 更新时间:2023-10-29 13:25:33 24 4
gpt4 key购买 nike

我在我的应用程序中集成了 Facebook 登录,但是当我试图从登录用户的基本信息中获取名称时,我得到:

{
Response: responseCode: 400,
graphObject: null,
error: {
HttpStatus: 400,
errorCode: 2500,
errorType: OAuthException,
errorMessage: An active access token must be used to query information about the current user.
},
isFromCache:false
}

我记录了我的 session token 及其到期日期,它既不是空的也不是过期的。我尝试用 getActiveSession() 替换 session ,但没有解决任何问题。

private void onSessionStateChange(Session session, SessionState state, Exception exception) {
if (state.isOpened()) {

final SharedPreferences prefs = getActivity().getSharedPreferences(
"fbInfo", Context.MODE_PRIVATE);
if (session != null && session.getState().isOpened()){
Log.i("sessionToken", session.getAccessToken());
Log.i("sessionTokenDueDate", session.getExpirationDate().toLocaleString());
}

new Request(session, "/me?fields=name", null, HttpMethod.GET,
new Request.Callback() {
public void onCompleted(Response response) {
JSONObject graphResponse = response
.getGraphObject()
.getInnerJSONObject();
try {
prefs.edit().putString("name", graphResponse.getString("name")).commit();

} catch (JSONException e) {
Log.i(TAG,
"JSON error " + e.getMessage());
}
}
}
).executeAsync();

new Request(session, "/me?fields=quotes", null, HttpMethod.GET,
new Request.Callback() {
public void onCompleted(Response response) {
JSONObject graphResponse = response
.getGraphObject()
.getInnerJSONObject();
try {
prefs.edit().putString("quotes", graphResponse.getString("quotes")).commit();

} catch (JSONException e) {
Log.i(TAG,
"JSON error " + e.getMessage());
}
}
}
).executeAsync();}

最佳答案

试试这个

if (state.isOpened())
{
Log.i("Facebook", "Logged in...");

new Request(session, "me/photos",getRequestParameters(), null, new Callback()
{
@Override
public void onCompleted(Response response)
{


}
}).executeAsync();

....


private Bundle getRequestParameters()
{
Bundle parameters = new Bundle(1);
parameters.putString("fields", "images,other");
return parameters;
}

关于Android 应用程序使用 Facebook 登录 : An active access token must be used to query information about the current user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21610689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com