Facebook“无法从 URL 检索数据”

2024-03-25

当尝试对 facebook 进行图形 api 调用时,我收到以下错误。我知道我的回调 url 很好,因为当我在 facebook 调试器中测试它时,它可以很好地查看页面。我也在使用 Google App Engine,我真的认为这个错误可能与从 facebook 返回到我的 GAE 应用程序的异步调用有关,而进行 URL 提取的线程仍然处于活动状态等待回复。

错误:

{"error":{"type":"Exception","message":"Could not retrieve data from URL."}} 

我的代码进行调用:

            URL url = new URL("https://graph.facebook.com/me/");
            HttpURLConnection connection = (HttpURLConnection) url
                    .openConnection();
            connection.setDoOutput(true);
            connection.setRequestMethod("POST");
                    connection.setConnectTimeout(30000);

            OutputStreamWriter writer = new OutputStreamWriter(
                    connection.getOutputStream());
            writer.write("access_token=" + access_token + "&activity=" + ogpUrl);
            writer.close();

            if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
                log.info("GraphApiHelper: success stream");
            } else {
                log.severe("GraphApiHelper: error stream: "
                        + connection.getResponseMessage());
            }

有什么想法可能会导致此问题,或者 GAE 在这些类型的 URL 获取上表现异常吗?我还增加了连接超时,以防导致问题。不确定它是否相关,但我认为这是来自 facebook linter 的一个完全通用的错误,因此这可能意味着调用本身有问题。

此外,我可以看到 Facebook linter 在日志中对我的 GAE 应用程序进行回调,并且我在该响应中没有看到任何错误。

编辑:好的,这显然是一个超时问题。我注意到,当新的 GAE 实例未在 facebook linter 回调上启动时,它可以正常工作。启动新的 GAE 实例时,需要花费 50 秒左右的时间。我在 10 秒内从 Facebook 收到错误信息。因此,在这段时间内,无论是 facebook linter 还是 GAE URL Fetch,有些东西都超时了。


我一直在 nimbits.com 上从 GAE 给 FB 写信 - 不用担心。

这段代码的工作原理:

服务器端 Facebook 实现:

https://github.com/bsautner/com.nimbits/blob/master/nimbits-tds/src/com/nimbits/server/external/facebook/FacebookImpl.java https://github.com/bsautner/com.nimbits/blob/master/nimbits-tds/src/com/nimbits/server/external/facebook/FacebookImpl.java

这是我方便的 http 帖子并获取适用于 GAE 的帮助程序类,并在上面的代码中引用:

https://github.com/bsautner/com.nimbits/blob/master/nimbits-model/src/com/nimbits/server/http/HttpCommonImpl.java https://github.com/bsautner/com.nimbits/blob/master/nimbits-model/src/com/nimbits/server/http/HttpCommonImpl.java

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

Facebook“无法从 URL 检索数据” 的相关文章

随机推荐

  • 如何将多行字符串转换为数组,其中每个元素都是所述字符串的一行? [复制]

    这个问题在这里已经有答案了 可以说我有 string str Line 1 Line 2 Line 3 我怎样才能把它变成一个数组 其中 3 个元素是 第 1 行 第 2 行 和 第 3 行 使用此选项 RemoveEmptyEntries
  • D365 FO 到期合同简单查询

    我需要创建简单的查询 该查询将显示将在未来 3 个月内到期的所有合同 我知道如何使用 SQL 执行此操作 但在创建查询时如何在 Visual Studio 中执行此操作 我添加了数据源合同表 添加了范围 过期日期所在的列是 VALIDTO
  • Spring Transaction - 代理混淆

  • SwiftUI - 如何在 macOS 上隐藏窗口标题

    在具有新 SwiftUI 框架的 macOS 上 无需AppDelegate SceneDelegate 如何隐藏窗口标题 我发现 Apple 的这篇文章描述了如何为 Catalyst 应用程序执行此操作 但现在没有该委托 我该如何实现此目
  • 将 int 附加到 std::string

    我尝试了两种不同的方法来附加int to a std string 令我惊讶的是 我得到了不同的结果 include
  • Snakemake 输入函数异常。 AttributeError:“通配符”对象没有属性

    我有一个带有 ChIP seq 单端 fastq 文件名的列表对象allfiles path file1 fastq path file2 fastq path file3 fastq 我正在尝试设置该对象 allfiles 作为通配符 我
  • 如何以附加模式写入文本文件

    我的应用程序基于导航 UItextView 用于注释 UIViewController 我正在将文本数据写入文件 现在我需要在附加模式下编写 我正在尝试以下代码 但每次都使用相同的文本数据写入两次 并且不附加下一个文本数据到文件 void
  • 如何使 NodeJS 中的 request 调用同步?

    我的 Nodejs 应用程序中有一个名为 get source at 的函数 它接受 uri 作为参数 其目的是从该 uri 返回源代码 我的问题是我不知道如何使函数同步调用请求 而不是给它那个回调函数 我want控制流停止加载 uri 所
  • 将两个已排序的数组合并为一个

    嗨 我被问了以下问题 给定两个数组 即 array1 和 array2 它们都包含按排序顺序的数字 Array1 还包含 1 例如 array2 中的数字与 array1 中的 1 的数量一样多 示例如下 array1 1 1 1 1 56
  • 如何在Python中展平元组

    我有一个列表的以下元素 该列表有 100 个元素长 50 2 7387451803816479e 13 219 如何将每个元素转换为如下所示 50 2 7387451803816479e 13 219 a b c for a b c in
  • 当我更新顶点缓冲区对象时,应该如何更新它使用的顶点数组对象?

    通过 glBufferData 更新 VBO 尤其是其大小 可能会更改其物理内存地址 但不会更改 glGenBuffers 设置的缓冲区对象名称 VBO 通过调用 glVertexAttribPointer 链接到 VAO 其中有关 VBO
  • 在 Atom-shell 中禁用退格键

    我一直在搜索 interwebz 和 Atom shell 文档 试图找出如何禁用back 的功能backspace浏览器窗口中的键 我不想求助于 javascriptonkeydown监听器 有效 而是使用更本机的东西 更多地在应用程序级
  • 将值从文本框传递到控制器

    如何从文本框 电子邮件列表 获取值并将其发送到控制器 我一直在使用webforms 这是我第一次接触mvc View Html TextBox EmailList Html Action SendEmails 控制器 public Acti
  • 是否有用于 jasmine 角度控制器测试的生成器?

    我正在寻找能为角度控制器生成样板茉莉花测试的东西 看来您可以将控制器的依赖项拉出来并将它们放入规范中并节省一些输入 如果我是第一个有这个想法的人 我会感到震惊 但我找不到任何可以做到这一点的东西 除了一个似乎不起作用的自耕农项目 我最近在
  • ViewPager2 notificationItemChanged 的​​ FragmentStateAdapter 未按预期工作

    我正在将 ViewPager2 与 FragmentStateAdapter 一起使用 并且正在调用 notificationItemChanged position 但正如预期的那样 createFragment 方法不会再次调用 这是预
  • TinyMCE客户端验证问题

    我在使用 TinyMCE 编辑器时遇到问题 我的表单带有很少的文本字段和文本区域 tinymce 并启用了客户端验证 当我单击 保存 按钮时 所有文本字段都会进行验证 但需要单击两次才能验证tinymce内容 此外 验证仅在字段为空或条件不
  • 异步 ServiceController.WaitForStatus 如何执行?

    So ServiceController WaitForStatus https msdn microsoft com en us library system serviceprocess servicecontroller waitfo
  • 如何将javascript变量值分配给php变量[重复]

    这个问题在这里已经有答案了 我已经宣布了JavaScript 变量 var myJavascriptVar 12345 并且无法将该值分配给php多变的 myPhpVar myJavascriptVar 我知道 Ajax 可能可以解决我的问
  • 从现有 CXF Rest 服务生成 wadl

    我有使用 CXF 实现的工作 JAX RS 服务 如何生成 wadl 或者有类似球衣的东西吗http path to your restapp application wadl http path to your restapp appli
  • Facebook“无法从 URL 检索数据”

    当尝试对 facebook 进行图形 api 调用时 我收到以下错误 我知道我的回调 url 很好 因为当我在 facebook 调试器中测试它时 它可以很好地查看页面 我也在使用 Google App Engine 我真的认为这个错误可能