如何以编程方式为原生应用获取 facebook 测试用户令牌

Posted

技术标签:

【中文标题】如何以编程方式为原生应用获取 facebook 测试用户令牌【英文标题】:How to get a facebook test user token programmatically for a native app 【发布时间】:2012-10-30 16:46:36 【问题描述】:

我们正在开发一个由服务器支持的 iPhone 应用程序。服务器与 Facebook 对话以推送 Opengraph 事件。我正在尝试测试此代码。我在 Web 界面中创建了 Facebook 测试用户。如果我为它们手动生成令牌,它们会在 24 小时到期后生成,这会使它们对测试毫无用处。所以我需要在测试代码中按需生成令牌。 Facebook 开发人员文档https://developers.facebook.com/docs/test_users/ 说我可以让帐户/测试用户列出测试用户及其令牌。但是,当我这样做时,我会得到:


    error: 
        message: "(#15) This method is not supported for native apps",
        type: "OAuthException",
        code: 15
    

我认为这是因为我们正在开发 iPhone 应用程序(尽管在 Facebook 应用程序配置中我们配置了网站、Facebook 应用程序和 ios 应用程序部分)。

是否需要更改某些设置才能使其正常工作?或者其他生成令牌的方式?还是手动生成可以硬编码到测试中的更长寿令牌的方法?

【问题讨论】:

【参考方案1】:

是的 - 将高级设置下的“应用程序模式”设置改回“Web” - 如果应用程序密钥嵌入在客户端二进制文件中,您应该只使用“本机/桌面”。

当此设置设置为“本机/桌面”时,应用密码不受信任,因为您的任何用户都可以从客户端代码中提取密码并代表应用进行调用

【讨论】:

你的新英雄,我花了很长时间在谷歌上搜索

以上是关于如何以编程方式为原生应用获取 facebook 测试用户令牌的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 Facebook 登录/注销按钮的情况下以编程方式从 Facebook SDK 3.0 注销?

如何像在 Facebook 应用程序中一样以编程方式打开设置?

我们可以以编程方式注销 facebook

如何以编程方式在 iOS 中单击 facebook loginView?

以编程方式获取 iPhone 的运营商信号强度

以编程方式从 iOS 中的 facebook SDK 注销