gpt4 book ai didi

ios - Facebook 不接受自定义开放图谱属性

转载 作者:可可西里 更新时间:2023-11-01 04:42:01 24 4
gpt4 key购买 nike

我正在尝试使用 Facebook iOS SDK 3.5 发布开放图谱操作。我的行动是:一张照片照片有一个额外的必需string属性,名为filter

我正在创建我的图形对象(所有值都有效且有效):

NSMutableDictionary<FBOpenGraphObject> *object =
[FBGraphObject openGraphObjectForPostWithType:@"tonerapp:photo"
title:@"photo"
image:imageData
url:nil
description:title];

然后我添加我的过滤器:

object[@"tonerapp:filter"] = filterName;

我尝试发布该对象,并且我可以确认我的过滤器属性存在(为 URL 请求启用 FBSetting 日志记录行为以显示请求数据):

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"];//setobject AND 没有命名空间...

可能还有更多。我已经尝试了一切,但 API 总是失败并出现相同的错误。我可以验证对象的其余部分是否正确,如果我转到我在 Facebook 中的应用程序并将 filter 设置为 optional 而不是 required,它发帖成功。是 Graph API 的错误/文档不足,还是我太盲目以至于在这里看不到明显的东西?

谢谢,可以。

最佳答案

把它们放在“数据”下

object[@"data"][@"youcustomproperty"] = @"smth";

关于ios - Facebook 不接受自定义开放图谱属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17395452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com