1

我们正在使用 FB Android SDK RequestBatch::executeAndWait() 发送批处理请求以检索有关照片的一些信息。这批中的请求数少于 50。但是,有时我们会看到抛出异常:FacebookException: Unexpected number of results

进一步调查表明,抛出的异常在 Request::createResponseFromObject方法中。

if (!(object instanceof JSONArray) || ((JSONArray) object).length() != numRequests) {
        FacebookException exception = new FacebookException("Unexpected number of results");
        throw exception;
}

此异常并非总是抛出,而是在某些 android 设备上随机抛出,并不总是在相同的查询中抛出。关于为什么会发生这种情况的任何线索都将非常有用。以下是示例批处理请求。

  • 要求:
  • 编号:42
  • 网址:https ://graph.facebook.com
  • 方法:POST
  • 用户代理:FBAndroidSDK.3.6.0
  • 内容类型:multipart/form-data;边界=3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f
  • batch_app_id:APP_ID
  • 批处理[{“relative_url”:“SOME_PHOTO_ID1?access_token=ACCESS_TOKEN&fields=images,place.fields(id)&format=json&sdk=android”,“方法”:“GET”},{“relative_url”:“SOME_PHOTO_ID2?access_token=ACCESS_TOKEN&fields= images,place.fields(id)&format=json&sdk=android", "method": "GET" }, { "relative_url": "SOME_PHOTO_ID3?access_token=ACCESS_TOKEN&fields=images,place.fields(id)&format=json&sdk=android" , "method": "GET" }, { "relative_url": "SOME_PHOTO_ID4?access_token=ACCESS_TOKEN&fields=images,place.fields(id)&format=json&sdk=android", "method": "GET" }, ....更多此类请求 < 50 ]

响应是这样的:Sorry, something went wrong. We're working on it and we'll get it fixed as soon as we can.见下面的例子。!http://www.weliveinbritain.co.uk/wp-content/uploads/2012/11/ss-facebook1.png

问题是这个异常是随机抛出的,并不总是在同一个查询中。所以并不是真正可重复的。任何有关可能原因的帮助将不胜感激。

4

0 回答 0