发布Reference类型的对象

时间:2012-04-22 19:51:33

标签: json facebook-c#-sdk facebook-php-sdk facebook-opengraph facebook-android-sdk

我已经有这个问题了一段时间了,我也看到其他人也有这个问题了。它必须处理您在Open Graph中创建的自定义对象,以便与您的应用程序一起发布。我主要在所有平台上遇到此问题,但现在让我们说我正在使用Android。如果有人用C#或IOS甚至用PHP完成了这个,请发表你的答案。

一个例子:

我有一个对象向Facebook发帖。假设它的属性如下。

mealName = "Lunch"
mealType = "Vegetarian"
mealLocation = "Somewheresville, OH"

现在我在Open Graph中有另一个对象,它叫做DailyFood。它具有如下属性。

day = "12/01/2012"
meal = "MyCustomMeal" // This references a meal object

现在,当我发帖时,我尝试在Java中执行以下操作。

//Build Meal
JSONObject mealData = new JSONObject();
mealData.put("mealName", "Lunch");
mealData.put("mealType", "Vegetarian");
mealData.put("mealLocation", "Somewheresville, OH");

Bundle params = new Bundle();
params.putString("day", "12/01/2012");
params.putString("meal", mealData.ToString());
AsyncFacebookRunner request = new AsyncFacebookRunner(facebook);

这是我生成以下错误代码的地方。

{"error":
{"message":"(#3503) is an invalid value for property 
\"meal\" with type \"Reference\"","type":"OAuthException","code":3503}}

现在我知道它说OAuthException但我可以用这个应用程序发布到Facebook的订阅源就好了。如果其他人在任何平台上遇到此错误并找到了解决方案,请在此处发布。

谢谢!

2 个答案:

答案 0 :(得分:3)

因此,这个问题的答案是,您实际上需要一个可供您的应用程序使用的网站,以便能够参考其发布到Facebook的内容。在文档中,我至少无法找到注意到的位置。

答案 1 :(得分:1)

根据这个官方video你必须让web应用程序使用开放图表发布动作,无论我们在哪个平台上工作android,ios等

因为它只从web url获取元标记和属性,只作为参考。