Search code examples
objective-cfacebook-graph-apifacebook-ios-sdkrubymotion

Facebook SDK returning wrong UID with iOS SDK


(This is RubyMotion but should be exactly the same as Objective-C.)

I'm running a query here on the Graph API Explorer (https://developers.facebook.com/tools/explorer) and it returns the proper result (note: random UID, not real):

SELECT uid FROM user WHERE uid = 100001554214421

Returns:

{
  "data": [
    {
      "uid": 100001554214421
    }
  ]
}

However, in iOS using the Facebook SDK, I run the same query:

def query_facebook
  params = { query: "SELECT uid FROM user WHERE uid = 100001554214421" }
  @facebook.requestWithMethodName("fql.query",
                                                andParams: params,
                                                andHttpMethod: "POST",
                                                andDelegate: self)
end

def request(request, didLoad:response)
  $stderr.puts response
end

This outputs:

{"uid"=>100001535492096} # << should be 100001554214421

Note that the uid is different than I queried for.

Question: Why would a simple query like this return a wrong result in the Facebook iOS SDK but not in the Graph API Explorer?


Solution

  • Facebook has confirmed that this is a bug:

    https://developers.facebook.com/bugs/507492582594198?browse=search_509ec2d1179c70b65454284

    Unfortunately they have assigned this a low priority. Hopefully they fix it soon.