Отметить друзей в Facebook Загрузить фото - PullRequest
5 голосов
/ 02 декабря 2011

Я бы хотел пометить существующих друзей, используя график api:

Вот код, который у меня есть на данный момент.Фотография загружается, но фотография не помечает пользователя, указанного в user_id:

        UIImage *testImage = [UIImage imageNamed:@"sendingTo"];
        NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:kFacebookFBConnectAppID, @"app_id",
                                       testImage, @"source",
                                       @"1381470076", @"message_tags",
                                       @"TEST!", @"message", nil];


        [self.socialIntegration.facebook requestWithGraphPath:[NSString stringWithFormat:@"/me/photos?access_token=%@", self.socialIntegration.facebook.accessToken]
                                                    andParams:params 
                                                andHttpMethod:@"POST" andDelegate:self];

Является ли атрибут message_tags неправильным атрибутом для использования?

Спасибо!

РЕДАКТИРОВАТЬ Из того, что я вижу здесь (https://developers.facebook.com/docs/reference/api/photo/#tags),, похоже, мне нужно сделать всего три звонка:

  1. Опубликовать фото скод, который у меня уже есть
  2. Попросите Facebook дать мне идентификатор этой фотографии (который я, вероятно, могу получить из FBRequestDelegate)
  3. Пометить людей после публикации.

1 Ответ

5 голосов
/ 02 декабря 2011

хорошо, разобрался.

Вот как вы это делаете.

Сначала вы загружаете изображение.

        UIImage *testImage = [UIImage imageNamed:@"sendingTo"];
        NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:kFacebookFBConnectAppID, @"app_id",
                                       testImage, @"source",
                                       @"TEST!", @"message", nil];


        [self.socialIntegration.facebook requestWithGraphPath:[NSString stringWithFormat:@"/me/photos?access_token=%@", self.socialIntegration.facebook.accessToken]
                                                    andParams:params 
                                                andHttpMethod:@"POST" andDelegate:self];

Далее, после успешной загрузки,- (void)request:(FBRequest *)request didLoad:(id)result метод вернет словарь result с 1 ключом id.Этот идентификатор является идентификатором фотографии только что загруженной фотографии, которую вы сохраняете в строку:

NSString *photoID = [NSString stringWithFormat:@"%@", [(NSDictionary*)result valueForKey:@"id"]];

Затем сделайте еще один запрос GraphAPI, чтобы пометить своих друзей.В приведенном ниже коде я отмечаю одного конкретного друга, но для обозначения нескольких друзей используйте строку или массив CSV:

[self.socialIntegration.facebook requestWithGraphPath:[NSString stringWithFormat:@"%@/tags/%@?access_token=%@", photoID, @"1381470076", self.socialIntegration.facebook.accessToken]
                                                    andParams:nil 
                                                andHttpMethod:@"POST" andDelegate:self];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...