【问题标题】:facebook "could not retrieve data from URL"facebook“无法从 URL 检索数据”
【发布时间】:2012-03-22 02:40:02
【问题描述】:

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

错误:

{"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 应用程序进行回调,并且我在该响应中没有看到任何错误。

编辑:好的,这显然是一个超时问题。我注意到,当 facebook linter 回调没有启动新的 GAE 实例时,它可以正常工作。当一个新的 GAE 实例被启动时,它需要 50 秒左右的时间。我在 10 秒内从 Facebook 收到错误消息。所以在那个时期,无论是 facebook linter 还是 GAE URL Fetch,都会出现超时。

【问题讨论】:

    标签: facebook google-app-engine facebook-graph-api


    【解决方案1】:

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

    此代码有效:

    服务器端 Facebook 实现:

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

    这是我在 GAE 上工作的方便的 http 帖子和获取帮助类,在上面的代码中被引用:

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

    【讨论】:

      【解决方案2】:

      也可能存在一些并发问题。 看到这个,对我来说效果很好。 Facebook Open Graph from Rails Heroku

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-29
        • 1970-01-01
        • 1970-01-01
        • 2012-06-02
        • 1970-01-01
        • 2016-09-15
        • 2021-01-25
        相关资源
        最近更新 更多