2011-08-31 30 views
6

Tôi có ứng dụng iPhone/iPad thực hiện chỉnh sửa ảnh cơ bản và cung cấp cho người dùng tùy chọn tải sản phẩm đã hoàn tất lên Facebook. Ứng dụng này có hơn 100.000 người dùng và phần lớn dường như không có vấn đề khi tải ảnh của họ lên Facebook. Tuy nhiên, có một số ít người dùng dường như không thể tải ảnh lên bất kể họ cố gắng gì. Tôi đã làm việc với họ để đảm bảo nó không phải là quyền ứng dụng hoặc cài đặt Facebook chặn họ và không thể tìm thấy bất kỳ vấn đề ở đó. Vì vậy, tôi tự hỏi nếu tôi đang làm một cái gì đó không chính xác với FBConnect gây ra vấn đề để cắt lên một lần trong một thời gian. Đây là mã:iOS: Ảnh tải lên Facebook không phải lúc nào cũng tải lên

- (void)initFacebook { 
    if(self.facebook == nil) { 
    Facebook *fb = [[Facebook alloc] init]; 
    self.facebook = fb; 
    [fb release]; 
    } 

    if([self.facebook isSessionValid]) { 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"FacebookIsReady" 
                object:nil 
                userInfo:nil]; 

    } else { 
    NSArray *perms = [NSArray arrayWithObjects:@"publish_stream", @"user_likes", nil]; 
    [self.facebook authorize:MY_FB_APP_ID permissions:perms delegate:self]; 
    } 
} 

-(void)fbDidLogin { 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"FacebookIsReady" 
                object:nil 
                userInfo:nil]; 
} 

// this is in a different class 
- (void)facebookIsReady:(NSNotification *)notification {  
    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:self.theImage, @"source", nil]; 

    [appDelegate.facebook requestWithGraphPath:@"/me/photos" 
             andParams:params 
            andHttpMethod:@"POST" 
             andDelegate:appDelegate]; 
} 

Trong FBRequestXác minh didLoad luôn được gọi ngay cả khi ảnh không xuất hiện trong hồ sơ Facebook. Vì vậy, những gì tôi nhận được là mã không bao giờ có vẻ thất bại nhưng hình ảnh không phải lúc nào cũng xuất hiện trên hồ sơ Facebook.

Có thể ứng dụng không thể tạo album mới trên hồ sơ người dùng không? Tôi đã thấy những người khác báo cáo vấn đề này trước khi trên các nhóm khác nhau nhưng chưa bao giờ tìm thấy một giải pháp thực tế. Cảm ơn.

Trả lời

0

Bạn phải bao gồm user_photos trong điều khoản của mảng như thế này:

NSArray *permissions = [[NSArray alloc] initWithObjects: 
    @"user_photos", 
    @"publish_stream", 
    @"user_likes", 
    nil]; 

Dưới đây là danh sách tất cả các điều khoản: https://developers.facebook.com/docs/reference/api/permissions/

+0

Để thêm vào này: không có 'user_photos', nếu bức ảnh được tải lên thành công, yêu cầu người dùng tự điều hướng trong các album ảnh của mình và poke xung quanh một chút. Nếu nó thực sự làm việc, họ có thể sẽ gặp phải một giao diện người dùng cho họ biết rằng họ đang chờ tải lên mà họ cần phải phê duyệt theo cách thủ công. Hộp thoại là rất understated, do đó, nó dễ dàng bỏ lỡ. (Ngoài ra, đối với những gì nó có giá trị có lẽ cũng là một thiết lập bảo mật thủ công mà người dùng có thể chuyển đổi để thực thi hành vi này ngay cả với sự cho phép 'user_photos' - chỉ cần đoán.) – toblerpwn

0
  • Đang tải lên hình ảnh trên Facebook vie Khung xã hội là dễ dàng hơn nhiều.
  • Vui lòng kiểm tra các liên kết dưới đây Fabecook Sharing
Các vấn đề liên quan