我已經做了一個應用程序,在我的應用程序中我已經整合了Facebook來共享信息。用於Facebook集成的 我在應用程序中使用Graph API。 現在在我的應用程序中,我想在用戶的牆上上傳照片。 我已經使用此代碼在用戶的牆上上傳照片。如何在iPhone上使用Graph API在Facebook上上傳照片?
//上傳照片
- (void)uploadPhoto:(id)sender {
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Image1" ofType:@"jpg"];
NSString *message = [NSString stringWithFormat:@"I think this is a Great Image!"];
NSURL *url = [NSURL URLWithString:@"https://graph.facebook.com/me/photos"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request addFile:filePath forKey:@"file"];
[request setPostValue:message forKey:@"message"];
[request setPostValue:_accessToken forKey:@"access_token"];
[request setDidFinishSelector:@selector(sendToPhotosFinished:)];
[request setDelegate:self];
[request startAsynchronous];
}
- (void)sendToPhotosFinished:(ASIHTTPRequest *)request {
// Use when fetching text data
NSString *responseString = [request responseString];
NSMutableDictionary *responseJSON = [responseString JSONValue];
NSString *photoId = [responseJSON objectForKey:@"id"];
NSLog(@"Photo id is: %@", photoId);
NSString *urlString = [NSString stringWithFormat:
@"https://graph.facebook.com/%@?access_token=%@", photoId,
[_accessToken stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSURL *url = [NSURL URLWithString:urlString];
ASIHTTPRequest *newRequest = [ASIHTTPRequest requestWithURL:url];
[newRequest setDidFinishSelector:@selector(getFacebookPhotoFinished:)];
[newRequest setDelegate:self];
[newRequest startAsynchronous];
}
但是,在這裏我得到 responseString是{ 「錯誤」:{ 「消息」: 「錯誤校驗應用程序」, 「類型」: 「OAuthException」} }和 照片ID是:(null)
圖像不會在用戶的牆上上傳。 所以,請告訴我如何解決它。
正如我在我的回答中所說的,您必須授權facebook才能獲得有效的訪問令牌。你在使用iOS的Facebook SDK嗎? http://developers.facebook.com/docs/guides/mobile/ios/ – jbat100
我也有同樣的問題你解決了嗎?如果可以,請告訴造成此錯誤的原因。 – Vijay