我刚刚开始使用SDK iOS 3.1的新应用程序,我注意到现在读取和写入权限是分开的.
我正在寻找一种发布到用户墙的简单方法,但我对授权机制感到困惑
如果我可以在openActiveSessionWithReadPermissions的CompletionHandler中写入权限,我会收到以下错误
*** Terminating app due to uncaught exception 'com.facebook.sdk:InvalidOperationException', reason: 'FBSession: It is not valid to reauthorize while a previous reauthorize call has not yet completed.'
Run Code Online (Sandbox Code Playgroud)
completionHandler听起来像已完成的动作,所以我不明白这段代码的问题是什么.
有什么建议 ?
-(void)askWritePerms
{
NSArray *permissions = [NSArray arrayWithObjects:@"publish_actions", nil];
[[FBSession activeSession] reauthorizeWithPublishPermissions:permissions
defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:^(FBSession *session, NSError *error) {
}];
}
- (IBAction)publishFB:(id)sender
{
NSArray *permissions = [NSArray arrayWithObjects:@"email", nil];
[FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
[self askWritePerms];
}
Run Code Online (Sandbox Code Playgroud)
小智 0
For publishing in wall in facebook use the following code
[[FBSession activeSession] reauthorizeWithPublishPermissions:@[ @"publish_stream",@"publish_actions" ] defaultAudience:FBSessionDefaultAudienceEveryone completionHandler:^(FBSession *authSession, NSError *authError) {
// If auth was successful, create a status update FBRequest
if (!authError) {
NSMutableDictionary* photosParams = [NSMutableDictionary dictionaryWithObjectsAndKeys:
imageurl,@"source",
urlstring,@"link",@"Appname",@"name",@"Your app description",@"description",
nil];
[FBRequestConnection startWithGraphPath:@"me/feed" parameters:photosParams HTTPMethod:@"POST" completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (error)
{
[self showAlert:@"Connection Error...Try Again"];
}
}];
}
}];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
772 次 |
| 最近记录: |