Опубликовать изображение на Facebook, используя график API - PullRequest
1 голос
/ 03 ноября 2011

Я использую api facebook graph, чтобы публиковать изображения и сообщения в Facebook.Я воспользовался помощью учебника Raywenderlich.До последних двух недель все работало нормально.Но сейчас это создает проблему для меня.Я получаю всю информацию из профиля на Facebook.

UIImage *image = [UIImage imageNamed:@"no_image.png"];



            data = UIImagePNGRepresentation(image);






       NSURL *url = [NSURL URLWithString:@"https://graph.facebook.com/me/photos"];

    NSString *message = [couponInfoDictionary objectForKey:@"offerTitle"];

    message = [message stringByAppendingString:@"\n"];

    NSString *offerSlogan = [couponInfoDictionary objectForKey:@"offerSlogan"];

    message = [message stringByAppendingString:[NSString stringWithFormat:@"%@",offerSlogan]];

    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];

    [request setData:data forKey:@"file"];
    [request setPostValue:message forKey:@"message"];
    [request setPostValue:_accessToken forKey:@"access_token"];
    [request setDidFinishSelector:@selector(sendToPhotosFinished:)];
    [request setDidFailSelector:@selector(requestError:)];
    [request setDelegate:self];
    [request startAsynchronous];



- (void)sendToPhotosFinished:(ASIHTTPRequest *)request
{
    // Use when fetching text data
    NSString *responseString = [request responseString];

    NSLog(@"response string before photo id %@",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]];

    NSLog(@"sendToPhotosFinished = %@",urlString);

    NSURL *url = [NSURL URLWithString:urlString];
    ASIHTTPRequest *newRequest = [ASIHTTPRequest requestWithURL:url];
    [newRequest setDidFinishSelector:@selector(getFacebookPhotoFinished:)];

    [newRequest setDelegate:self];
    [newRequest startAsynchronous];

}

Но когда я публикую изображение, оно дает мне ошибку

{"error":{"message":"Error validating application.","type":"OAuthException"}}

 Photo id is: (null)
 sendToPhotosFinished = https://graph.facebook.com/(null)?access_token=ABACesEZBKr3gBALqa4yE2QAnJbNbGvQKa9iCm53GmTwHQYoyaxqAqmdLj0gw9uWCbyhP5sV7N6uZBjaFDpD6v6G1C7GcZCjvcZBPqt7b1ZAxKtDvepN8c&expires_in=4778


 Got Facebook Photo: {"error":{"message":"(#803) Some of the aliases you requested do not exist: (null)","type":"OAuthException"}}

Я потратил три дня на его устранение.Но все еще не понимаю ... как решить эту проблему?

Ответы [ 2 ]

1 голос
/ 03 ноября 2011

используйте это @ "117795728310 / photos" от меня / photos

В третьей строке кода выше,

0 голосов
/ 06 августа 2012

Идентификатор фотографии: (ноль) 2012-02-16 11: 59: 11.298 FBFun [2330: 207] Получил фото из Facebook:

{
    "error": {
        "message": "(#803) Some of the aliases you requested do not exist: (null)",
        "type": "OAuthException",
        "code": 803
    }
}

Я использовал следующий код, и он работает ...

NSURL *url = [NSURL URLWithString:@"https://graph.facebook.com/USER_FACEBOOK_PROFILE_ID/photos"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"img1" ofType:@"jpg"];
nsstring *accessToken = @"AAACWZA..............................................Ts28iSOhGoOhe9qAgpZCL7AZDZD";
[request addData:[[NSUserDefaults standardUserDefaults]dataForKey:@"image1"] forKey:@"file"];
[request setPostValue:@"Testing App For iPhone, please don't comment..." forKey:@"message"];
[request setPostValue:accessToken forKey:@"access_token"];

[request setDelegate:self];
[request startAsynchronous];  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...