gpt4 book ai didi

android - 在 Android 上使用访问 token 创建 Facebook session 对象

转载 作者:搜寻专家 更新时间:2023-11-01 09:04:04 24 4
gpt4 key购买 nike

我正在尝试以下操作:

  1. 在一台安卓手机上,我通过 Facebook 授权我的应用程序,并将访问 token 存储在共享首选项中。
  2. 将此访问 token 发送到第二个 Android 设备(一些不同的应用程序具有相同的 Facebook appKey。
  3. 现在我无法在第二台设备上使用此访问 token 创建 session 。第二台设备没有用户界面,因此我无法使用网络/FB 原生应用程序在那里进行授权。

问题:我的问题是如何使用传递的访问 token 创建 facebook session 来访问 API。如果有人可以指出示例,将会更有帮助。

最佳答案

从 facebook sdk for Android 3.0 final 开始,api 已经改变,@rightparen 建议的答案将不起作用。在新 API 中,关键是使用 Session.openActiveSessionWithAccessToken() 静态方法。此方法专为从 fb sdk 2.x 迁移到 3.x 而设计。

以下代码适合我。

@SuppressWarnings("deprecation")
public static void migrateFbTokenToSession() {
Facebook facebook = Utils.getFacebookObject();
AccessToken accessToken = AccessToken.createFromExistingAccessToken(facebook.getAccessToken(), new Date(facebook.getAccessExpires()),
new Date(facebook.getLastAccessUpdate()), AccessTokenSource.FACEBOOK_APPLICATION_NATIVE, Arrays.asList(Constants.FB_APP_PERMISSIONS));
Session.openActiveSessionWithAccessToken(ICheezApplication.getContext(), accessToken , new Session.StatusCallback() {

@Override
public void call(Session session, SessionState state, Exception exception) {
sLogger.debug("fbshare Migration to newer icheez state has been successful");
if(session != null && session.isOpened()) {
Session.setActiveSession(session);
}
}
});

}

关于android - 在 Android 上使用访问 token 创建 Facebook session 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13266781/

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