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)必须使用app access_token调用此方法。"
现在,我(想)我知道如何获得access_token
NSString *fbAccessToken = [[[FBSession activeSession] accessTokenData] accessToken];
但我不知道何时何地将其发送到Facebook。
我试图将它附加到@" / app / subscriptions"像这样的部分
NSString *urlString = [NSString
stringWithFormat:@"/app/subscriptions?access_token=%@",
[fbAccessToken stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
但这没有用。
非常欢迎您的意见!
答案 0 :(得分:0)
执行此操作的方法是使用应用程序令牌创建FBSession。因为当前的会话并不是你想要的。
但是,安全方面,你根本不应该这样做。将应用程序令牌嵌入到生产应用程序中是非常不安全的。我相信为您生成的iOS示例不正确。
您应该通过服务器调用(例如PHP)发送任何需要应用程序令牌的请求