Android 上的 Facebook 集成 fbconnect 断开的链接

2024-01-08

我正在尝试将 Facebook 集成到我的 Android 应用程序中,它可以正常登录 Facebook,但当它尝试将访问令牌传递回应用程序时,它只会返回:

网页位于 fbconnect://success#access_token=[访问令牌]可能暂时关闭或者可能已永久移动到新的 网址。

明显在哪里[ACCESS TOKEN]是一长串字符。

我已获得正确的应用程序 ID 并将密钥哈希添加到 facebook。但我可能错过了什么过程呢?

Code:

public class FacebookActivity extends Activity {

private static final String APP_ID = "[MY APP ID]";
private static final String[] PERMISSIONS = new String[] {"publish_stream"};

private static final String TOKEN = "access_token";
    private static final String EXPIRES = "expires_in";
    private static final String KEY = "facebook-credentials";

private Facebook facebook;
private String messageToPost;

public boolean saveCredentials(Facebook facebook) {
        Editor editor = getApplicationContext().getSharedPreferences(KEY, Context.MODE_PRIVATE).edit();
        editor.putString(TOKEN, facebook.getAccessToken());
        editor.putLong(EXPIRES, facebook.getAccessExpires());
        return editor.commit();
    }

    public boolean restoreCredentials(Facebook facebook) {
        SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences(KEY, Context.MODE_PRIVATE);
        facebook.setAccessToken(sharedPreferences.getString(TOKEN, null));
        facebook.setAccessExpires(sharedPreferences.getLong(EXPIRES, 0));
        return facebook.isSessionValid();
    }

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    facebook = new Facebook();
    restoreCredentials(facebook);

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    setContentView(R.layout.activity_facebook);

    String facebookMessage = getIntent().getStringExtra("facebookMessage");
    if (facebookMessage == null){
        facebookMessage = "Test wall post";
    }
    messageToPost = facebookMessage;

            if (! facebook.isSessionValid()) {
        loginAndPostToWall();
    }
    else {
        postToWall(messageToPost);
    }
}

public void loginAndPostToWall(){
     facebook.authorize(this, APP_ID, PERMISSIONS, new LoginDialogListener());
}

public void postToWall(String message){
    Bundle parameters = new Bundle();
            parameters.putString("message", message);
            parameters.putString("description", "topic share");
            try {
                facebook.request("me");
        String response = facebook.request("me/feed", parameters, "POST");
        Log.d("Tests", "got response: " + response);
        if (response == null || response.equals("") ||
                response.equals("false")) {
            showToast("Blank response.");
        }
        else {
            showToast("Message posted to your facebook wall!");
        }
        finish();
    } catch (Exception e) {
        showToast("Failed to post to wall!");
        e.printStackTrace();
        finish();
    }
}

class LoginDialogListener implements DialogListener {
    @Override
    public void onComplete(Bundle values) {
        saveCredentials(facebook);
        if (messageToPost != null){
        postToWall(messageToPost);
    }
    }
    public void onFacebookError(FacebookError error) {
        showToast("Authentication with Facebook failed!");
        finish();
    }
    public void onError(DialogError error) {
        showToast("Authentication with Facebook failed!");
        finish();
    }
    public void onCancel() {
        showToast("Authentication with Facebook cancelled!");
        finish();
    }
}

private void showToast(String message){
    Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
}

}

Android 开发新手,所以我确信这很简单。


我更新了设备上的本机 Facebook 应用程序,一切正常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 上的 Facebook 集成 fbconnect 断开的链接 的相关文章

  • Android 无法解析日期异常

    当尝试解析发送到我的 Android 客户端的日期字符串时 我得到一个无法解析的日期 这是例外 java text ParseException 无法解析的日期 2018 09 18T00 00 00Z 位于 偏移量 19 在 java t
  • Sun 在 EDT 之外做 GUI 工作的演示?

    我正在看SplashDemo java http download oracle com javase tutorial uiswing examples misc SplashDemoProject src misc SplashDemo
  • 带有 backstack Resume 的嵌套片段

    在我的应用程序中有几个fragments in an activity我正在维护一个backStack对于这些fragment 一切都很好 但其中有一个嵌套的片段 当我把它放入backStack然后再次按后退按钮恢复 该片段看起来与先前的内
  • 如何在 ant 中为 junit 测试设置 file.encoding?

    我还没有完全完成file encoding 和 ant https stackoverflow com questions 1339352 how do i set dfile encoding within ants build xml
  • Akka 与现有 java 项目集成的示例

    如果我已经有现有的javaWeb 应用程序使用spring and servlet容器 将 Akka 集成到其中的正确方法是什么 就像我将会有Actor1 and Actor2互相沟通的 开始使用这些演员的切入点是什么 例如 1 把它放在那
  • 如何在.NET中使用java.util.zip.Deflater解压缩放气流?

    之后我有一个转储java util zip Deflater 可以确认它是有效的 因为 Java 的Inflater打开它很好 并且需要在 NET中打开它 byte content ReadSample sampleName var inp
  • 如何将 HTML 链接放入电子邮件正文中?

    我有一个可以发送邮件的应用程序 用 Java 实现 我想在邮件中放置一个 HTML 链接 但该链接显示为普通字母 而不是 HTML 链接 我怎样才能将 HTML 链接放入字符串中 我需要特殊字符吗 太感谢了 Update 大家好你们好 感谢
  • JDBC 时间戳和日期 GMT 问题

    我有一个 JDBC 日期列 如果我使用 getDate 则会得到 date 仅部分2009 年 10 月 2 日但如果我使用 getTimestamp 我会得到完整的 date 2009 年 10 月 2 日 13 56 78 890 这正
  • 轻松的反应

    我有一个与这里描述的类似的案例 动态更改RESTEasy服务返回类型 https stackoverflow com questions 3786781 dynamically change resteasy service return
  • hibernate 6.0.2.Final 和 spring boot 2.7.0 的entityManagerFactory bean 未配置问题

    所以最近我想升级我的 Spring Boot 项目项目的一些依赖项 特别是这些组件 雅加达 EE 9 弹簧靴2 7 休眠 6 0 2 Final 完成此操作后 所有更新和代码折射 更新将 javax 导入到 jakarta 以及一些 hib
  • 为什么\0在java中不同系统中打印不同的输出

    下面的代码在不同的系统中打印不同的输出 String s hello vsrd replace 0 System out println s 当我在我的系统中尝试时 Linux Ubuntu Netbeans 7 1 它打印 When I
  • 将 JScrollPane 添加到 JFrame

    我有一个关于向 Java 框架添加组件的问题 我有一个带有两个按钮的 JPanel 和一个添加了 JTable 的 JScrollPane 我想将这两个添加到 JFrame 中 我可以将 JPanel 添加到 JFrame 或将 JScro
  • 手动设置Android Studio的JDK路径

    如何为 Android Studio 使用自定义 JDK 路径 我不想弄乱 PATH 因为我没有管理员权限 是否有某个配置设置文件允许我进行设置 如果您查看项目设置 您可以从那里访问 jdk 在标准 Windows 键盘映射上 您可以在项目
  • JetPack Compose - 卡中行中的weight() 不起作用

    创建 Android 应用程序时 我将一些可组合项放在卡片的一行中 如下所示 但它没有按我的预期工作 我添加 weight 1f 的可组合项不再显示 data class Test val title String val text Str
  • 子类构造函数(JAVA)中的重写函数[重复]

    这个问题在这里已经有答案了 为什么在派生类构造函数中调用超类构造函数时 id 0 当创建子对象时 什么时候在堆中为该对象分配内存 在基类构造函数运行之后还是之前 class Parent int id 10 Parent meth void
  • Log4j2 ThreadContext 映射不适用于parallelStream()

    我有以下示例代码 public class Test static System setProperty isThreadContextMapInheritable true private static final Logger LOGG
  • 如何在android中安装和使用couch db

    我应该如何在 android 中安装和使用 couch Db 我的意思是本地沙发数据库 我可以在平板电脑和模拟器中使用它 为此我必须遵循哪些步骤 我目前正在开发一个使用它的项目 有两种选择 1 couchbase android 是的 co
  • 由 Servlet 容器提供服务的 WebSocket

    上周我研究了 WebSockets 并对如何使用 Java Servlet API 实现服务器端进行了一些思考 我没有花费太多时间 但在使用 Tomcat 进行一些测试时遇到了以下问题 如果不修补容器或至少对 HttpServletResp
  • Android Espresso 单击按钮时出现错误

    我正在尝试使用 espresso 框架为 Android 应用程序编写一些 UI 测试 现在我只是检查启动屏幕上是否存在所有元素 然后尝试单击登录按钮 单击按钮时 测试由于错误而失败 我似乎无法理解为什么会发生这种情况 我的测试代码是 Ru
  • Keystore getEntry 在 Android 9 上返回 NULL

    c我已对存储在 Android 密钥库中的登录密码进行了加密和解密 在 Android 9 上 我观察到应用程序在尝试解密密码时崩溃 我无法重现它 但拥有 Pixel 3 的用户是崩溃的设备之一 下面是我如何从密钥库解密密码 private

随机推荐

  • 在 iOS 上签名的数据无法在 Java 中验证

    我有一些要在 iOS 上签名的数据SecKeyRawSign使用椭圆曲线私钥 但是 使用 Java 验证数据Signature verify 回报false 数据是一个随机的 64 位整数 像这样分成字节 uint64 t nonce so
  • python 3.6 multiprocessing.Pool() 使用 Windows 启动非常慢

    在 Windows 10 AMD Threadripper 16 核 CPU 64 GB RAM 快速 SSD 上运行 Python 3 6 4 64 位 在我开始此测试之前 没有其他任何东西正在运行 任何修复 解决方法 想法或解释将不胜感
  • Django 模板 - 将字符串拆分为数组

    我有一个模型字段 它存储 URL 列表 是的 我知道 这是错误的方式 作为url1 nurl2 nurl3 lt gt 我需要在模板中将字段拆分为数组 因此我创建了自定义过滤器 register filter name split def
  • 如何从命令 Visual Studio Extension 2017 获取 IWpfTextView

    我需要使用 TextViewAdornment 显示弹出窗口 它需要 IWpfTextView 有旧代码 private IWpfTextView GetWpfTextView IVsTextView vTextView IWpfTextV
  • 如何在代理后面使用捆绑器?

    我从以下输出中得到须藤捆绑安装命令 Fetching source index for http rubygems org Could not reach rubygems repository http rubygems org Coul
  • 在 Matlab 中交换 x 和 y 轴

    这里可能是简单的 matlab 问题 但我已经搜索过但无法弄清楚如何做到这一点 I ve got a variables which plot like this 我只是希望 x 轴成为 y 轴 反之亦然 我该如何交换它们 预先感谢您的帮助
  • 使用 ASP.NET MVC 5 和 Bootstrap 3 默认安装时,为什么样式会出现 403 错误,而字体会抛出 404 错误?

    使用默认安装的 ASP NET MVC 5 和更新的 Bootstrap 3 加载我的项目主页不会显示 CSS 样式或包含的字体字形 404 文件未找到错误 CSS 样式在 Content css 地址处收到 403 禁止查看文件夹内容 错
  • Hibernate二级缓存<>

    我想在我的 hibernate 项目中使用二级缓存 但我只了解一点关于 hibernate 二级缓存的知识 任何人都可以解释我应该如何在我的代码中使用它以及我需要什么配置和 jar 文件吗 我将这些设置设置为 hibernate cfg x
  • Scala 任务返回映射

    我有一种方法 readHeader 接受一个参数并返回任务 列表 标题 另一个方法调用多个 id 并返回列表 任务 列表 设备标题 如何退货任务 列表 列表 标题 兼容多id读取功能 trait M1 def readHeader id S
  • 当元素启用/禁用时触发函数

    这似乎是一件相对简单的事情 但我在任何地方都找不到关于如何做到这一点的任何信息 我有一个模式 在等待异步数据时打开并禁用输入 我想知道该输入何时启用 以便我可以集中输入 这就是我正在努力实现的目标 将其视为全局模式打开处理程序 modal
  • C语言中当前的微秒时间?

    如何在 Unix 平台上用 C 打印当前微秒时间 在 Linux 和 BSD 中 您可以使用gettimeofday 功能 这填充了一个timevalstruct 它有一个自纪元以来的秒字段和一个微秒字段 该函数已被弃用 分辨率越高时钟获取
  • PyQt5 图像和 QGridlayout

    我有一个小部件 它想要显示图像QLabel and QCheckBox 创建了 4 个类 每个类都包含一些要放在最终屏幕上的信息 Class Grid对齐和网格图像 文本和复选框 脚本运行后获取当前屏幕 当前小部件中没有出现图像 图像在哪里
  • 为什么以下操作数不能一起广播?

    数组的维度如下 dists 500 5000 train 5000 test 500 为什么前两个语句会抛出错误 而第三个语句却可以正常工作 dists train test Error ValueError operands could
  • 如何测试一个点是否在二维整数坐标中的凸多边形内部?

    多边形以 Vector2I 对象列表的形式给出 二维 整数坐标 如何测试给定点是否在内部 我在网上找到的所有实现都因一些微不足道的反例而失败 编写正确的实现似乎确实很难 语言并不重要 因为我会自己移植 如果它是凸的 检查它的一个简单方法是该
  • 有没有办法挂钩 Webpack 的 AST 使其识别新的模块格式?

    简洁版本 我们如何操作最终输出包的 AST 以及加载器内部文件的 AST 在这两种情况下 我都想操作现有的 AST 而不是解析源代码并创建新的 AST 我正在做的事情很慢 而且我知道 Webpack 一定已经做了 AST 所以我想避免重复工
  • PendingIntent 不适用于 Android O

    我的应用程序中有下载通知 我添加了 取消 按钮NotificationCompat Builder通过致电addAction 方法 但按钮在 Android O 设备上不起作用 当我按 取消 按钮时 什么也没有发生 但按钮在 Android
  • 在 Hive 中将字符串转换为时间戳

    我有一个值 2017 09 27T19 25 15 927 07 00 有什么方法可以将其转换为时间戳吗 我使用 Hive 1 1 0 select unix timestamp 2017 09 27T19 25 15 927 07 00
  • 使用 HaskellDB 取消映射表记录的基本示例

    假设我有以下 PostgreSQL 表定义 CREATE TABLE books id serial NOT NULL title character varying NOT NULL PRIMARY KEY id 以及以下记录定义 dat
  • jquery wcf 肥皂调用失败

    有人知道我可以对 wcf 服务进行 jquerysoap 调用吗 我的 JQuery 代码 ajax url http localhost oseop orderingservice svc HelloWorld data txtTestR
  • Android 上的 Facebook 集成 fbconnect 断开的链接

    我正在尝试将 Facebook 集成到我的 Android 应用程序中 它可以正常登录 Facebook 但当它尝试将访问令牌传递回应用程序时 它只会返回 网页位于 fbconnect success access token 访问令牌 可