Facebook Graph SDK(及其iOS实现)确实使我的生活痛苦不堪。看来我是一个人,因为我似乎无法在网上找到像我这样的类似问题/缺乏理解的人。
无需再费周折:
我的iOS应用程序中包含以下代码,该代码应将我的应用程序订阅用户更新:
-(void)subscribeToFacebook{
(FBSession.activeSession.isOpen) ? NSLog(@"is open") : NSLog(@"is closed");
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
@"page", @"object",
@"http://www.example.com/fbcallback.php", @"callback_url",
@"about, picture", @"fields",
@"ItsMeAlright", @"verify_token",
nil
];
/* make the API call */
[FBRequestConnection startWithGraphPath:@"/app/subscriptions"
parameters:params
HTTPMethod:@"POST"
completionHandler:^(
FBRequestConnection *connection,
id result,
NSError *error
) {
/* handle the result */
NSLog(@"error= %@",error);
}];
}
当我运行此代码时,将记录一条错误,指出:
“(#15)必须使用应用程序access_token调用此方法。
现在,我(认为)我知道如何获取access_token
NSString *fbAccessToken = [[[FBSession activeSession] accessTokenData] accessToken];
但我不知道何时何地将其发送到Facebook。
我试图像这样将其附加到@“ / app / subscriptions”部分
NSString *urlString = [NSString
stringWithFormat:@"/app/subscriptions?access_token=%@",
[fbAccessToken stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
但这没用。
非常欢迎您的输入!
实现此目的的方法将是使用应用程序令牌创建FBSession。因为当前会话不是您想要的。
但是,出于安全考虑,您根本不应该这样做。将您的应用程序令牌嵌入到生产应用程序中是非常不安全的。我认为为您生成的iOS示例不正确。
您应该通过服务器调用发送任何需要应用程序令牌的请求(例如PHP)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句