2015-08-16 3 views
7

Я работаю на мессенджера приложения, в основном, глядя на the docs hereFaceBook Посланника SDK Как получить имя пользователя

Единственный Гоча в том, как передать информацию о пользователе в человеке, которого вы делитесь содержание с?

Из документации, кажется, что FBSDKMessengerURLHandlerReplyContext может содержать идентификатор_пользователь

NSSet *userIds = context.userIDs 

Тем не менее, как я могу использовать идентификатор_пользователь, чтобы получить информацию о пользователе? Или это даже правильный способ получить информацию о пользователе?

Кажется, эта задача выполнима. This game does that

Он может сообщать информацию о пользователе на первом экране, без фактического просить пользователя войти в систему.

Любая идея или помощь в том, как это сделать?

ответ

5

Если идентификаторы пользователей от пользователей, которые уже проходят проверку подлинности в приложении, оно может быть достигнуто с помощью графика API, как они говорят на facebook Docs:

идентификаторы пользователей могут быть использованы с Facebook SDK и графика API (https://developers.facebook.com/docs/graph-api) для запроса имен, фотографий и других данных. Это будет содержать только идентификаторы пользователей, у которых также вошли в ваше приложение через свою учетную запись Facebook.

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

FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] 
             initWithGraphPath:[NSString stringWithFormat:@"/%@", {userID-goes-here}] 
             parameters:@{@"fields":@"name,id,picture,gender,birthday,email"} 
             HTTPMethod:@"GET"]; 
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, 
               id result, 
               NSError *error) { 
    if (!error){ 
      NSLog(@"result: %@",result);   
    } 
}]; 

результата этого запроса выглядит следующим образом:

{ 
    birthday = "06/24/1981"; 
    email = "[email protected]"; 
    gender = male; 
    id = 67XXXXX39; 
    name = "Adriano Spadoni"; 
    picture = { 
     data = { 
      "is_silhouette" = 0; 
      url = "https://fbcdn-prof... ...jpg"; 
     }; 
    }; 
} 

Просто помните, что некоторые поля могут быть нулевые.

Возможно, вам понадобится сделать цикл, запрашивающий пользователя пользователем. Я боюсь, если кто-то знает, как запросить патч пользователей одновременно, пожалуйста, покажите нам, как это сделать.

НО

Если вы хотите, чтобы получить информацию от пользователей, которые не установивших ваше приложение еще, что вам нужно:

FBSDKGraphRequest(graphPath: "me/taggable_friends", parameters: ["fields":"installed,id,name,picture.width(1000)"]).startWithCompletionHandler({ (connection, result, err) -> Void in 
        if err == nil { 
         print(result) 
        } 
       }) 
+0

AFAIK, с FBMessengerSDK нет необходимости в аутентификации. Вы можете просто пойти и поделиться этим контентом. Если вы видите ссылку на игру выше, вы увидите, что она каким-то образом получает информацию о пользователе и не требует аутентификации или входа в систему. – N0mi

+0

Я добавляю несколько информации, вы можете сделать это с помощью «taggeble friends», я просто проверил, и вы получите имена и рисунки =) –

+0

Да, но будьте осторожны с друзьями «taggable».Он не должен использоваться таким образом, и Facebook может отклонить ваше приложение, вам нужно их представление позже. – Tulleb

0

Вы не можете получить имя пользователя больше, потому что /me/username больше не доступный.

Источник: https://developers.facebook.com/docs/apps/changelog#v2_0_graph_api

Если вы хотите, чтобы обнаружить вернувшиеся пользователь, использовать (App контекстного) ID вместо этого.

+0

Эй, Piyush, я почти совершил ту же ошибку, что и он спрашивал о «имени пользователя», но он сказал: «имя пользователя» (см. Пробел?), Он ошибся в названии, это должно быть «имя пользователя». Спасибо вам за информацию, так или иначе, вы правы, «имя пользователя» ушло навсегда на facebook. –

+0

Спасибо, drix, я исправил заголовок – N0mi

Смежные вопросы