我想分享與Facebook的消息。這裏是代碼:FBSDKLog缺少權限
RACSignal *sign = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
if([[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"]){
NSLog(@"1 blck");
NSLog(@"curr tok? %@", [FBSDKAccessToken currentAccessToken]);
[subscriber sendNext:@YES];
[subscriber sendCompleted];
} else {
NSLog(@"2 blck");
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logOut];
login.loginBehavior = FBSDKLoginBehaviorWeb;
[login logInWithPublishPermissions:@[@"publish_actions"] fromViewController:APP.window.rootViewController handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
NSLog(@"log passed by");
self.isExecuting = YES;
if (error) {
NSError *err = [NSError errorWithDomain:@"ru.myServer.fb" code:-3 userInfo:@{NSLocalizedDescriptionKey:error.localizedDescription}];
[subscriber sendError:err];
} else if (result.isCancelled) {
NSError *err = [NSError errorWithDomain:@"ru.myServer.fb" code:-4 userInfo:@{NSLocalizedDescriptionKey:@"Недоступно"}];
[subscriber sendError:err];
} else {
NSString *strToken = result.token.tokenString;
NSString *strUserId = result.token.userID;
NSDictionary *dctProps = @{@"token":strToken, @"user_id":strUserId};
[subscriber sendNext:dctProps];
[subscriber sendCompleted];
}
}];
}
它很簡單,即使你不熟悉反應可可。
出於某種原因,該代碼的作品(發佈消息)的一個賬戶,之前已經獲得授權,但是當我嘗試另一個ACC做分享新聞,它完整的塊,但發送錯誤
FBSDKLog:警告:訪問令牌丟失publish_actions權限
。顯然,沒有消息可以分享。
這是爲什麼發生?
publish_actions不是讀取權限。 – CBroe
我對文檔非常熟悉,謝謝。您所說的並不會改變它不是_read_權限的事實,因此應該以不同的方式提出要求 - 請參閱https://developers.facebook.com/docs/facebook-login/ios/permissions#permissions -Login此外,[最佳做法](https://developers.facebook.com/docs/facebook-login/best-practices)由FB說不讓問權限的應用程序總結如初始用戶登錄publish_actions,但只有當第一次實際需要權限時(即用戶主動點擊一個觸發共享的按鈕) – CBroe
@CBroe好吧,我錯了......我不知道爲什麼。將更新答案並刪除我的「幾乎粗魯」的評論;) –