I'm trying to upload a photo to a Facebook page I own using the iOS SDK and graph API. I've been able to upload photos to my own wall. I've also been able to post a message to my fan page wall as an admin and create an album on my fan page, so I think I'm making the right calls, but not succeeding.
This is what I'm currently doing.
I'm logging in using
Facebook *fb = [[Facebook alloc] init];
self.facebook = fb;
[fb release];
NSArray *permissions = [[NSArray arrayWithObjects:@"read_stream", @"offline_access", @"publish_stream", @"manage_pages", @"user_photos", @"friends_photos",nil] retain];
[facebook authorize:FB_APP_ID permissions:permissions delegate:self];
[permissions release];
After I log in, I request the accounts
[facebook requestWithGraphPath:@"/me/accounts" andDelegate:self];
The accounts are returned to me with access tokens for each page and app I own. I use a simple loop to parse through the accounts to extra the access_token supplied for the page I wish to upload a photo to.
I then set my access token of my facebook object to the new access_token.
facebook.accessToken = new_accessToken;
and try and upload a photo my fan page using
UIImage *uploadImage = [UIImage imageNamed:@"t200.jpg"];
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
uploadImage, @"source",
@"test caption", @"message",
nil];
[facebook requestWithGraphPath:@"/me/photos" andParams:params
andHttpMethod:@"POST" andDelegate:self];
The response I receive is
{"error":{"type":"OAuthException","message":"(#1) An unknown error occurred"}}
Is this a bug in the facebook graph API? I also tried making this call using standard HTTPS requests, and get the same result.
See Question&Answers more detail:os