Tôi đang cố gắng sử dụng Facebook iOS SDK 3.5 để xuất bản một hành động Open Graph. Hành động của tôi là: take
a photo
và photo
có yêu cầu bổ sung string
thuộc tính có tên filter
.Facebook không chấp nhận các thuộc tính Open Graph tùy chỉnh
tôi đang tạo ra đối tượng đồ thị của tôi (tất cả các giá trị có giá trị và làm việc):
NSMutableDictionary<FBOpenGraphObject> *object =
[FBGraphObject openGraphObjectForPostWithType:@"tonerapp:photo"
title:@"photo"
image:imageData
url:nil
description:title];
Sau đó, tôi thêm bộ lọc của tôi:
object[@"tonerapp:filter"] = filterName;
tôi cố gắng đăng các đối tượng, và tôi có thể xác nhận rằng thuộc tính bộ lọc của tôi ở đó (đã bật hành vi ghi nhật ký FBSetting cho các yêu cầu URL để hiển thị dữ liệu yêu cầu):
Body (w/o attachments):
object: {"description":"","type":"tonerapp:photo",
"tonerapp:filter":"classic","data":{},
"fbsdk:create_object":true,
"image":{"url":"fbstaging:\/\/graph.facebook.com\/staging_resources\/MDExMDE1MjkzNzU1Njc3MDE0MjoxNTM4NzgwNjUy","user_generated":"true"},
"title":"photo"}
tôi có thể thấy sở hữu bộ lọc của tôi ở đó, nhưng câu trả lời là thế này:
error = {
code = 100;
message = "(#100) Object Missing a Required Value:
Object at URL '' of type 'tonerapp:photo' is invalid because
a required property 'tonerapp:filter' of type 'string' was not provided.";
type = OAuthException;
};
Vâng, nó là ở đó. Tôi đã thử tất cả kết hợp có thể như:
object[@"data"] = @{@"tonerapp:filter": filterName};
// gói vào các dữ liệu đối tượng
object[@"data"] = @{@"filter": filterName};
// gói vào dữ liệu và loại bỏ không gian tên
object[@"toner:filter"] = filterName;
// tên ứng dụng thay cho tên namespace
object[@"filter"] = filterName;
// không có tên không gian tên tại tất cả
[object setObject:filterName forKey:@"tonerapp:filter"];
// ký hiệu setobject
[object setValue:filterName forKey:@"tonerapp:filter"];
// setValue ký hiệu
[object setObject:filterName forKey:@"filter"];
// setobject VÀ mà không namespace ...
và có thể nhiều hơn nữa. Tôi đã thử mọi thứ, nhưng API luôn thất bại với cùng một lỗi. Tôi có thể xác minh phần còn lại của đối tượng là chính xác, nếu tôi truy cập ứng dụng của mình trên Facebook và đặt filter
là optional
thay vì required
, nó sẽ đăng thành công. Nó có phải là một lỗi/tài liệu không đầy đủ với Graph API, hay tôi bị mù đến nỗi tôi không thể thấy điều gì đó hiển nhiên ở đây?
Xin cảm ơn, Có thể.
Bạn giải quyết vấn đề này? (Tôi đã tự mình gặp phải vấn đề tương tự: http://stackoverflow.com/q/20376634/824515) – Magnus
từ những gì tôi nhớ, (đã lâu rồi và tôi đã quên trả lời câu hỏi của riêng mình ở đây lúc đó) về thuộc tính URL. mô tả lỗi đã gây hiểu nhầm.Tôi đã sử dụng '[FBGraphObject openGraphObjectForPostWithType: @" tonerapp: photo " tiêu đề: title image: imageData url: @" http://tonerapp.info " mô tả: desc];' và nó hoạt động. thử đặt URL khi đăng. –
@Magnus hãy cho tôi biết nếu nó giải quyết được vấn đề để tôi có thể thêm câu trả lời, có lẽ bạn có thể thêm câu trả lời ngay dưới đây. –