Facebook Connect для отправки SMS друзьям на Facebook

Я разрабатываю приложение для iPhone, которое будет отправлять смс зарегистрированным друзьям пользователей. Для этого я использую FacebookConnect. Проблема в том, что я получаю идентификаторы всех друзей, но как можно отправить SMS на эти идентификаторы (UID друзей).

Спасибо, UPT


Взгляните на следующий код, и я не могу отправить сообщение друзьям: Чтобы получить UID друзей:

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

// sessionView = session;

[[FBRequest requestWithDelegate:self] call:@"facebook.friends.get" params:params];

в делегате:

- (void) запрос: (FBRequest *) запрос didLoad: (id) результат

// выполняем следующий код:

if (@ "facebook.friends.get" == request.method) {

    NSArray* users = result;

    myList =[[NSArray alloc] initWithArray: users];

    for(NSInteger i=0;i<[users count];i++) {

        NSDictionary* user = [users objectAtIndex:i];

        NSString* uid = [user objectForKey:@"uid"];

        //          NSString* fql = [NSString stringWithFormat:

        //                           @"select name from user where uid == %@", uid];

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

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


        NSDictionary* params = [NSDictionary dictionaryWithObjectsAndKeys:uid, @"uid", @"checkSMSCanSend", @"callback", nil];
        [[FBRequest requestWithDelegate:self] call:@"facebook.sms.canSend" params:params];
    }

а для SMS.canSend: if (@ "facebook.sms.canSend" == request.method) {

    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"SMS" message:@"User can send SMS successfully." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];
}

Но это не называется. Пожалуйста, помогите СМС друзьям.


person UPT    schedule 14.05.2010    source источник


Ответы (1)


Сначала вам нужно будет проверить, может ли пользователь отправлять SMS-сообщения и разрешено ли вам:

http://developers.facebook.com/docs/reference/rest/sms.canSend

Чтобы запросить расширенные разрешения, вы вызовете что-то вроде этого (http://developers.facebook.com/docs/reference/fql/permissions)

FBPermissionDialog* dialog = [[[FBPermissionDialog alloc] init] autorelease];
dialog.delegate = self;
dialog.permission = @"sms";
[dialog show];

Если пользователь включил SMS для вашего приложения, вы можете отправить SMS, используя

http://developers.facebook.com/docs/reference/rest/sms.send

NSDictionary* params = [NSDictionary dictionaryWithObjects:@"1234", @"uid", @"hellow world", @"message", nil];
[[FBRequest requestWithDelegate:self] call:@"facebook.sms.send" params:params];

Примеры вызова методов API Facebook через iPhone см. Здесь: http://github.com/facebook/facebook-iphone-sdk/#readme

Редактирование моего сообщения, чтобы он также отвечал на дополнительный вопрос, размещенный в качестве ответа

Здесь ваша ошибка, вы пытаетесь сравнить строки с помощью оператора ==.

if (@"facebook.friends.get" == request.method) 

это сравнивает адреса двух строк. Чтобы сравнить, равно ли содержимое строки, вы должны использовать метод isEqualToString:

if([@"facebook.friends.get" isEqualToString:request.method]) 
person texmex5    schedule 14.05.2010
comment
Извините за такую ​​глупую ошибку. Но, отменив это изменение, мы все равно не войдем внутрь, если .. - person UPT; 18.05.2010