API Graph Facebook: результат в массиве или в объекте json - PullRequest
1 голос
/ 22 января 2011

Я немного запутался в результатах графика API. Может ли кто-нибудь объяснить, какой метод объекта по умолчанию использует Facebook, когда мы получаем данные через граф API. У меня есть настройки учетной записи приложения для доступа к данным в объекте json или в массиве, потому что какое-то время я находил пользовательские данные в зашифрованном виде, а иногда - без шифрования. Я нашел идентификатор электронной почты пользователя в двух направлениях из Facebook Graph API. Один из них:

{
   "id": "100001114785800",
   "name": "Stella Jackson",
   "first_name": "Stella",
   "last_name": "Jackson",
   "link": "http://www.facebook.com/profile.php?id=100001114785800",
   "birthday": "04/16/1987",
   "gender": "female",
   "email": "stella_ja@live.com",
   "timezone": 5.5,
   "locale": "en_US",
   "updated_time": "2010-10-08T13:26:10+0000"
}

И второй:

{
   "id": "100001114785800",
   "name": "Stella Jackson",
   "first_name": "Stella",
   "last_name": "Jackson",
   "link": "http://www.facebook.com/profile.php?id=100001114785800",
   "birthday": "04/16/1987",
   "gender": "female",
   "email": "stella_ja\u0040live.com",
   "timezone": 5.5,
   "locale": "en_US",
   "updated_time": "2010-10-08T13:26:10+0000"
}

Есть идеи?

Спасибо

Ответы [ 6 ]

1 голос
/ 18 декабря 2011

@ Vik, я хочу сделать то же самое, собрать информацию поста в массиве, попробуйте это, если это сработает, чем посмотрите ..

   if (response.authResponse) {
    var accessToken =    response.authResponse.accessToken;
        //var UserInfo = document.getElementById('UserInfo'); 
        FB.api('/' + info.id + '/feed?access_token=' + accessToken, 
                    { limit: 20 },function(result) {

        UserInfo.innerHTML = "Welcome, " +  result.id + "!";
        alert('Message: ' + result.id);
            });
                                }  
1 голос
/ 22 января 2011

Символ '\ u0040' аналогичен запутанной или Unicode-форме символа '@'.Большинство парсеров могут преобразовать это в исходный символ.

Проверьте это для списка набора символов Unicode.

http://www.alanwood.net/demos/ansi.html

0 голосов
/ 11 апреля 2013

вы можете просто заменить \u0040 на @, но во время этой замены компилятор будет рассматривать "\" как escape-последовательность и пропустит это без внесения изменений.

Что вы делаете следующим образом:

NSString *strEmail = @"stella_ja\u0040live.com";
[strEmail stringByReplacingOccurrencesOfString:@"\\u0040" withString:@"@"];
NSLog(@"strEmail: %@", strEmail);
0 голосов
/ 14 июля 2012

Самый простой способ - взять строку электронной почты и сделать что-то вроде этого (цель c):

NSString *email = @"stella_ja\u0040live.com"; // or whatever you use to get it
email = [NSString stringByReplacingOccurencesOfString:@"\u0040" withString:@"@"];

Другими словами, используйте строковые методы для замены "\ u0040" на "@".

0 голосов
/ 11 мая 2012

Используйте это для получения словаря n значения электронной почты для ios

FbGraphResponse *fb_graph_response = [fbGraph doGraphGet:@"me" withGetVars:nil];
NSLog(@"getMeButtonPressed:  %@", fb_graph_response.htmlResponse);
NSDictionary *dictionary=[fb_graph_response.htmlResponse JSONValue];
NSLog(@"%@",[dictionary valueForKey:@"email"]);

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

0 голосов
/ 01 июня 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...