восстановить мою запись на стене в моем родном приложении для телефона - PullRequest
0 голосов
/ 25 мая 2010

Привет всем, что я хочу, чтобы получить все мои сообщения на стене, которые я публиковал до сих пор. Я использую этот запрос fql из моего родного приложения для iphone, чтобы получить его, но я думаю, что я совершаю ошибку, пожалуйста, сообщите мне, как я могу сделать это мой fql запрос, чтобы получить сообщение на стене

- (void)session:(FBSession*)session didLogin:(FBUID)uid {

    NSString *fql = [NSString stringWithFormat:@"SELECT comments, likes FROM stream WHERE post_id=100000182297319"];



    NSLog(@"session key is %@",_session.sessionKey);

    NSLog(@"from global key is %@",[twitfacedemoAppDelegate getfacebookkey]);

    NSDictionary* params = [NSDictionary dictionaryWithObject:fql forKey:@"query"];



    [[FBRequest requestWithDelegate:self] call:@"facebook.fql.query" params:params];

это мой другой метод delgate, чтобы получить сообщение на стене, но этот код не работает

- (void)request:(FBRequest*)request didLoad:(id)result {
    @try
    {
        NSLog(@"result is %@",result);

        if(result==nil)
        {
            UIAlertView *a=[[UIAlertView alloc]initWithTitle:@"Can't login" message:@"You cant login here." delegate:nil cancelButtonTitle:@"ok" otherButtonTitles:nil];
            [a show];
            [a release];
        }
        else
        {
            NSArray* users = result;
            NSDictionary* user = [users objectAtIndex:0];


            NSString* name = [[NSString alloc]initWithString:[user objectForKey:@"name"]];
            NSLog(@"name is %@",name);

            _label.text = [NSString stringWithFormat:@"Logged in as %@", name];

            NSString *globalfacebookname;
            globalfacebookname=[[NSString alloc]initWithString:name];



            NSLog(@"value is %@",globalfacebookname);

            NSString *fid=[user objectForKey:@"uid"];
            NSLog(@"FACEBOOK ID WITH STRING DATATYP %@",fid);
            [twitfacedemoAppDelegate fetchfacebookid:fid];
        }
    }
    @catch (NSException * e) 
    {
        NSLog(@"Problem in dialog didFailWithError:%@",e);
    }

}

, пожалуйста, объясните мне, как я могу получить все мои сообщения из Facebook в родном приложении для iphone через запрос fql

заранее спасибо

Ответы [ 3 ]

2 голосов
/ 25 мая 2010
1 голос
/ 05 июня 2010

Может быть, я отсталый, но я пробовал это, и я всегда получаю пустой NSArray. Я заменяю свой source_id своим идентификатором uid, очевидно, на% lld, и, прежде чем запросить это, я успешно получаю свое полное имя из своего профиля (поэтому я должен пройти аутентификацию). Это именно тот запрос, который я использую: SELECT actor_id, сообщение ОТ потока WHERE source_id = 610611343 предел 50

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

1 голос
/ 25 мая 2010

ура, я получил его, я установил один запрос после установления соединения, и я вернул свой пост на родное приложение iphone, вот мой запрос

- (void)session:(FBSession*)session didLogin:(FBUID)uid {
    //_permissionButton.hidden = NO;
    //_feedButton.hidden = NO;
    NSLog(@"DISABLED");
    NSString *fql = [NSString stringWithFormat:@"SELECT actor_id, message FROM stream WHERE source_id = 100000182297319 limit 50"];



    NSLog(@"session key is %@",_session.sessionKey);
    NSLog(@"from global key is %@",[twitfacedemoAppDelegate getfacebookkey]);

    NSDictionary* params = [NSDictionary dictionaryWithObject:fql forKey:@"query"];
    [[FBRequest requestWithDelegate:self] call:@"facebook.fql.query" params:params];
}

и вот результат этого

- (void)request:(FBRequest*)request didLoad:(id)result {
    @try
    {
        NSLog(@"result is %@",result);
        //startride.enabled=FALSE;
        //selectride.enabled=FALSE;
        if(result==nil)
        {
            UIAlertView *a=[[UIAlertView alloc]initWithTitle:@"Can't login" message:@"You cant login here." delegate:nil cancelButtonTitle:@"ok" otherButtonTitles:nil];
            [a show];
            [a release];
        }
        else
        {
            NSArray* users = result;



            NSDictionary* user = [users objectAtIndex:0];

        }
    }
    @catch (NSException * e) 
    {
        NSLog(@"Problem in dialog didFailWithError:%@",e);
    }

}

в этот момент вы получите все сообщения на стене в словаре результатов

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