API Graph Facebook Загрузить фото проблема - PullRequest
0 голосов
/ 12 августа 2011

Я искал по всей сети и скачал Facebook SDK, чтобы попробовать функцию загрузки фотографий, и она сработала там.Точно такие же коды для моего приложения, и это не работает.Помогите, пожалуйста???Вот мои коды:

- (IBAction)pushUpload:(id)sender {

    NSString *path = @"http://www.facebook.com/images/devsite/iphone_connect_btn.jpg";
    NSURL *url = [NSURL URLWithString:path];
    NSData *data = [NSData dataWithContentsOfURL:url];
    UIImage *img  = [[UIImage alloc] initWithData:data];

    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   img, @"picture",
                                   nil];

    [_facebook requestWithGraphPath:@"me/photos"
                          andParams:params
                      andHttpMethod:@"POST"
                        andDelegate:self];

    [img release];

    [loadingIcon startAnimating];
}

Как вы можете видеть, я поместил там элемент loading, чтобы начать анимацию при его загрузке ... и по запросу didload я выполнил команду stopanimating после его успешной загрузки.

-(void)request:(FBRequest *)request didLoad:(id)result{

    [loadingIcon stopAnimating];
    if ([result isKindOfClass:[NSArray class]]) {
        result = [result objectAtIndex:0];
    }
    if ([result objectForKey:@"owner"]) {
        [loadingIcon stopAnimating];

        UIAlertView *alert;

        alert = [[UIAlertView alloc] initWithTitle:@"" 
                                           message:@"Photo uploaded." 
                                          delegate:self cancelButtonTitle:@"Ok" 
                                 otherButtonTitles:nil];

        [alert show];
        [alert release];
    } else {
       // [self.label setText:[result objectForKey:@"name"]];
    }
}

Дело в том, что значок загрузки просто продолжает анимироваться и не содержит ошибок, и все, но по-прежнему нет изображения, загруженного в мою учетную запись Facebook.Любые идеи, почему ??

Это коды в моем файле .h:

@ interface UploadPhotosViewController: UIViewController (FBRequestDelegate, FBDialogDelegate, FBSessionDelegate) {

IBOutlet UIImageView *imageView;
IBOutlet UIActivityIndicatorView *loadingIcon;
IBOutlet UIBarButtonItem *_pushPick;
IBOutlet UIBarButtonItem *_pushUpload;

Facebook * _facebook; }

@ property (только для чтения) Facebook * facebook;

  • (IBAction) pushUpload: (id) отправитель;
  • (IBAction) pushPick: (id) отправитель;

// UINavigationControllerDelegate, UIImagePickerControllerDelegate,

@ end

Еще один момент, на который следует обратить внимание, это отсутствие индикатора цветов для (FBRequestDelegate, FBDialogDelegate, FBSessionD)должны быть .. это проблема?

Ответы [ 3 ]

1 голос
/ 13 сентября 2011

Попробуйте меня / кормить вместо меня / фотографии.

[_facebook requestWithGraphPath:@"me/feed"
                      andParams:params
                  andHttpMethod:@"POST"
                    andDelegate:self];
1 голос
/ 03 сентября 2012

Я думаю, это потому, что вы неправильно объявляете свои протоколы. Они идут в угловых скобках, а не в скобках.

@interface UploadPhotosViewController : UIViewController<FBRequestDelegate, FBDialogDelegate, FBSessionDelegate>
1 голос
/ 12 августа 2011

Проверьте, написали ли вы делегатов Facebook в вашем .h файле.Также проверьте этот код Он работал для меня ..

NSString *string=@"Images of me";
SBJSON *jsonWriter = [[SBJSON new] autorelease];
    NSDictionary* attachment = [NSDictionary dictionaryWithObjectsAndKeys:
                                @"My name", @"name",
                                string, @"description", nil];
    NSString *attachmentStr = [jsonWriter stringWithObject:attachment];



    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   @"This is image",@"description",
                                   @"Share on Facebook",  @"user_message_prompt",
                                   //actionLinksStr, @"action_links",
                                   attachmentStr, @"attachment",    
                                  /*Your image here", @"picture",
                                   nil];

Попробуйте этот код

Надеюсь, это поможет ....

...