Social framework returns “(#803) Cannot query user

2020-07-09 10:12发布

问题:

I'm using iOs social framework in order to retrieve facebook feeds from a certain user. For that purpose, after authenticating I'm doing the following:

NSURL *requestURL = [NSURL URLWithString:@"https://graph.facebook.com/username"];
SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodGET
                                                  URL:requestURL parameters:nil];
request.account = self.facebookAccount;

[request performRequestWithHandler:^(NSData *data, NSHTTPURLResponse *response, NSError *error) { ... }];

The response returns:

error =     {
        code = 803;
        message = "(#803) Cannot query users by their username (username)";
        type = OAuthException;
    };

The same works if I use /me instead of the username, but I want to retrieve someone else public feed.

I also tried using the user's id which also works for my user, but I it doesnt work for other users, the request returns the following:

code = 2500;
        message = "The global ID 100008339709776 is not allowed. Please use the application specific ID instead.";
        type = OAuthException;

I also tried passing the access token as parameter but the behavior is the same.

Any ideas?

回答1:

Already pointed out in the comments, but you are not supposed to use the username anymore and you can´t access data of users who did not authorize your App.

Changelog: https://developers.facebook.com/docs/apps/changelog

(just trying to get the answer rate on SO higher)