7
這裏來我Objc代碼:Facebook在iOS6.0使用SLRequest上傳反正照片失敗
ACAccountStore *facebookaccount = [[ACAccountStore alloc] init];
ACAccountType *facebookaccountType = [facebookaccount accountTypeWithAccountTypeIdentifier: ACAccountTypeIdentifierFacebook];
// Specify App ID and permissions
NSDictionary *options = @{ ACFacebookAppIdKey: @"1234567899876543", ACFacebookPermissionsKey: @[@"publish_stream"], ACFacebookAudienceKey: ACFacebookAudienceFriends };
[facebookaccount requestAccessToAccountsWithType:facebookaccountType options:options completion:^(BOOL granted, NSError *error) {
if(granted) {
NSArray *accountsArray = [facebookaccount accountsWithAccountType:facebookaccountType];
if ([accountsArray count] > 0) {
ACAccount *facebookAccount = [accountsArray objectAtIndex:0];
NSString *sendmessage = @"Face";
NSData *myImageData = UIImagePNGRepresentation(imageSource);
SLRequest *facebookRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodPOST URL:[NSURL URLWithString:@"https://graph.facebook.com/me/photos"] parameters:nil];
[facebookRequest addMultipartData:myImageData withName:@"source" type:@"multipart/form-data" filename:nil];
[facebookRequest addMultipartData:[sendmessage dataUsingEncoding:NSUTF8StringEncoding] withName:@"message" type:@"multipart/form-data" filename:nil];
[facebookRequest setAccount:facebookAccount];
[facebookRequest performRequestWithHandler:^(NSData* responseData, NSHTTPURLResponse* urlResponse, NSError* error) {
if (error == nil) {
NSLog(@"responedata:%@", [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]);
}else{
NSLog(@"%@",error.description);
}
}
}
else
{
NSLog(@"error description : %@",[NSString stringWithFormat:@"%@", error.localizedDescription]);
}
}];
最後我得到這些數據輸入反應:
responedata:{ 「錯誤」:{「消息「:」(#324)需要上傳文件「,」type「:」OAuthException「,」code「:324}}
請幫幫我!!!
謝謝你這麼多。我一直在尋找相同的東西,但內置Twitter iOS框架。確實非常有幫助:) – Supertecnoboff
謝謝兄弟!缺少添加文件名與多部分.. – Nikunj
嗨@MitchM你知道一種方式分享多個圖像與這種相同的邏輯使用'SLRequest'? – jose920405