我正在开发一个iPhone应用程序,它将向已登录的用户朋友发送短信。我正在使用FacebookConnect。问题是我得到了所有朋友的uid,但是向这些uid发送短信的方式是什么(朋友UID)。
谢谢, UPT
请查看以下代码,我无法将消息发送给朋友: 为了得到朋友UID:
NSDictionary* params = [NSDictionary dictionaryWithObject:fql forKey:@"query"];
// sessionView = session;
[[FBRequest requestWithDelegate:self] call:@"facebook.friends.get" params:params];
代表中的:
- (void)request:(FBRequest *)request didLoad:(id)result
//执行以下代码:
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];
}
但这并没有被召唤。 请帮助短信朋友。
答案 0 :(得分:1)
首先,您需要检查用户是否可以发送SMS-s以及是否允许:
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,您可以使用
发送短信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];
有关如何通过iPhone调用Facebook API方法的示例,请访问:http://github.com/facebook/facebook-iphone-sdk/#readme
编辑我的帖子以回答作为答案发布的其他问题海报
你的错误在这里,你试图使用==运算符比较字符串。
if (@"facebook.friends.get" == request.method)
这比较了两个字符串的地址。要比较字符串内容是否相等,您应该使用isEqualToString
方法:
if([@"facebook.friends.get" isEqualToString:request.method])