Facebook не принимает пользовательские свойства Open Graph
Я пытаюсь использовать Facebook iOS SDK 3.5 для публикации действия Open Graph. Мое действие:take
a photo
, а такжеphoto
имеет дополнительное обязательноеstring
свойство по имениfilter
.
Я создаю свой объект графа (все значения действительны и работают):
NSMutableDictionary<FBOpenGraphObject> *object =
[FBGraphObject openGraphObjectForPostWithType:@"tonerapp:photo"
title:@"photo"
image:imageData
url:nil
description:title];
Затем я добавляю свой фильтр:
object[@"tonerapp:filter"] = filterName;
Я пытаюсь опубликовать объект, и я могу подтвердить, что мое свойство фильтра присутствует (включено ведение журнала FBSetting для запросов URL, чтобы показать данные запроса):
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"}
Я могу видеть мое свойство фильтра там, но ответ таков:
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;
};
Ну, это есть. Я перепробовал все возможные комбинации, такие как:
object[@"data"] = @{@"tonerapp:filter": filterName};
// оборачиваем в объект данных
object[@"data"] = @{@"filter": filterName};
// оборачиваем в данные и удаляем пространство имен
object[@"toner:filter"] = filterName;
// имя приложения вместо имени пространства имен
object[@"filter"] = filterName;
// нет имени пространства имен вообще
[object setObject:filterName forKey:@"tonerapp:filter"];
// Сетобъектная запись
[object setValue:filterName forKey:@"tonerapp:filter"];
// заданное значение
[object setObject:filterName forKey:@"filter"];
// Сетобъект И без пространства имен ...
и возможно больше. Я перепробовал все, но API всегда дает сбой с одной и той же ошибкой. Я могу проверить правильность остальной части объекта, если я захожу в свое приложение в Facebook и устанавливаюfilter
какoptional
вместоrequired
, это отправляет успешно. Это ошибка / недостаточная документация с Graph API, или я настолько слеп, что не вижу здесь ничего очевидного?
Спасибо, может.