Ios 通过应用发送facebook请求
我阅读了facebook文档并实现了我的代码,但请求并没有发送。我在网站上看不到请求通知。我可以在我的日志屏幕上看到请求ID 以下是我的部分代码: 我从developer.facebook.com获取了这段代码Ios 通过应用发送facebook请求,ios,objective-c,facebook,Ios,Objective C,Facebook,我阅读了facebook文档并实现了我的代码,但请求并没有发送。我在网站上看不到请求通知。我可以在我的日志屏幕上看到请求ID 以下是我的部分代码: 我从developer.facebook.com获取了这段代码 + (NSDictionary*)parseURLParams:(NSString *)query { NSArray *pairs = [query componentsSeparatedByString:@"&"]; NSMutableDictionary *params =
+ (NSDictionary*)parseURLParams:(NSString *)query {
NSArray *pairs = [query componentsSeparatedByString:@"&"];
NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
for (NSString *pair in pairs) {
NSArray *kv = [pair componentsSeparatedByString:@"="];
NSString *val =
[kv[1] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
params[kv[0]] = val;
}
return params;
}
+(void) requestFriendMethod{
// Display the requests dialog
[FBWebDialogs
presentRequestsDialogModallyWithSession:nil
message:@"message"
title:@"title"
parameters:nil
handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
if (error) {
// Error launching the dialog or sending the request.
NSLog(@"Error sending request.");
} else {
if (result == FBWebDialogResultDialogNotCompleted) {
// User clicked the "x" icon
NSLog(@"User canceled request.");
} else {
// Handle the send request callback
NSDictionary *urlParams = [AKFacebook parseURLParams:[resultURL query]];
if (![urlParams valueForKey:@"request"]) {
// User clicked the Cancel button
NSLog(@"User canceled request.");
} else {
// User clicked the Send button
NSString *requestID = [urlParams valueForKey:@"request"];
NSLog(@"Request ID: %@", requestID);
}
}
}
}];
}
我做错了什么?感谢您的回答和建议。请确保您的facebook应用程序id在开发者页面和xcode中的信息中都相同。接下来,启用沙箱模式,并且必须在开发者页面中填写画布url[在facebook应用程序类别下]
NSString *facebookID = @"Your friend facebook id";
NSMutableDictionary* params =
[NSMutableDictionary dictionaryWithObject:facebookID forKey:@"to"];
NSString *message = @"SOME_MESSAGE";
NSString *title = @"TITLE";
[FBWebDialogs presentRequestsDialogModallyWithSession:nil
message:message
title:title
parameters:params handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
if (error)
{
// Case A: Error launching the dialog or sending request.
NSLog(@"Error sending request.");
}
else
{
if (result == FBWebDialogResultDialogNotCompleted)
{
// Case B: User clicked the "x" icon
NSLog(@"User canceled request.");
}
else
{
NSLog(@"Request Sent. %@", params);
}
}}];
我以前尝试过这段代码,但它也不发送请求。也许正如你所说,它可以是沙盒模式。谢谢你的回答,检查沙箱模式。如果我的回答对你有帮助,请投票并接受。