Tôi đang cố gắng để có được Nguồn cấp dữ liệu cho dòng thời gian của người dùng đã đăng nhập. Tôi có một nút đăng nhập, mà tôi đang chuyển quyền đọc bao gồm user_posts
. Thật ngạc nhiên, Facebook không cấp cho tôi quyền này và bỏ qua nó.SDK Facebook 4.x Vấn đề về quyền iOS
Code:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.loginButton.readPermissions = @[@"public_profile", @"email", @"user_friends", @"user_posts"];
self.loginButton.delegate = self;
if([FBSDKAccessToken currentAccessToken])
{
NSLog(@"Have access token");
NSLog(@"permissions .... %@",[FBSDKAccessToken currentAccessToken].permissions);
[self retrieveFeed];
}
}
#pragma mark - Login Delegate
-(void) loginButton:(FBSDKLoginButton *)loginButton didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result error:(NSError *)error
{
NSLog(@"Login Successfully!!");
NSLog(@"permissions .... %@",[FBSDKAccessToken currentAccessToken].permissions);
[self retrieveFeed];
}
-(void) loginButtonDidLogOut:(FBSDKLoginButton *)loginButton
{
}
#pragma mark - Receive FB Feed
-(void) retrieveFeed
{
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"/me/feed" parameters:nil];
FBSDKGraphRequestConnection *connection = [[FBSDKGraphRequestConnection alloc] init];
[connection addRequest:request completionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
NSLog(@"%@",result);
if(error)
NSLog(@"Some error FEED;;;;;; %@",error.localizedDescription);
}];
[connection start];
}
khi nhấp vào nút đăng nhập, tôi nhận được sau phép màn hình. Facebook đã bỏ qua quyền user_posts
.
Thậm chí nếu tôi cố gắng để có được sự cho phép này sau đó sau khi đăng nhập, Facebook nói với tôi rằng Tôi đã ủy quyền ứng dụng để làm như vậy, ngay cả khi có không phép như cấp! Mã để nhận được giấy phép mới là:
-(void) checkForFeedPermission
{
if ([[FBSDKAccessToken currentAccessToken] hasGranted:@"user_posts"]) {
NSLog(@"already granted feed access");
[self retrieveFeed];
} else {
FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
[loginManager logInWithReadPermissions:@[@"user_posts"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
NSLog(@"requesting feed access");
[self retrieveFeed];
}];
}
}
Tôi đã đập đầu vào vấn đề này trong ba ngày. Làm ơn cho tôi biết tôi có thể sai ở đâu? Cảm ơn.
Vì vậy, điều đó có nghĩa là tôi sẽ không thể nhận được bất kỳ sự cho phép nào nếu không có đánh giá trên facebook ?? – NightFury
Có. Các quyền yêu cầu đánh giá thường được xem xét trong vòng 3 ngày làm việc. Một số quyền có thể mất tối đa 7 ngày để xem xét và được đánh dấu như vậy trong tham chiếu. Quyền đó không yêu cầu đánh giá: Hồ sơ công khai (mặc định) quyền, bạn bè ứng dụng, quyền email. – Tanuj
không dành cho bất kỳ sự cho phép nào đối với user_post –