2011-10-02 32 views
1

我試圖提交批處理請求,通過開放圖譜測試版添加對象到用戶的時間線,但無論我做什麼,我得到這個:發送批量請求給Facebook的Open Graph Beta版

The action you're trying to publish is invalid because it does not specify any reference objects. At least one of the following properties must be specified: egg.

am雖然指定了egg財產。我的要求是這樣的:

https://graph.facebook.com/?batch=[{'method':'POST','relative_url':'/me/my_namespace:find','egg':'http%3A%2F%2Fwww.mydomain.com%2Fmy_namespace%2Fog%2Fegg.php%3Ftypeid%3D-966','start_time':'1317439270','end_time':'1317439270'}]&access_token=<<snipped>>&method=post

我送egg作爲一個URL編碼的參考字符串包含我打開圖形數據的URL - 網址不工作,如果我把它不是作爲一個批次,但因爲在設置用戶的時間軸時,我會在某些情況下發布多達1000個操作,我試圖通過批處理來加快速度。

能夠通過批量請求成功刪除。

回答

2

而不是發送'egg'作爲批對象的參數,你需要格式化它,就像一個查詢字符串,並將其發送到主體參數中。

而且,relative_url不應該用 '/'

開始嘗試張貼此,而不是...

https://graph.facebook.com/batch?access_token=TOKEN&method=post&batch= 
[ 
    { 
     "method": "post", 
     "relative_uri": "me/your_namespace:find", 
     "body": "egg=http%3A%2F%2Fwww.mydomain.com%2Fmy_namespace%2Fog%2Fegg.php%3Ftypeid%3D-966&start_time= 1317439270&end_time= 1317439270 
    } 
] 

我測試過這一點,它的工作原理。

將數據發佈到批處理API時,數據必須格式化爲查詢狀態,並以「字符串」參數作爲字符串發送。

+0

現在我得到一個新的錯誤「批參數必須是JSON數組」。我的批量參數是一個格式正確的JSON數組,雖然:https://graph.facebook.com/batch?access_token=TOKEN&method=post&batch=[{"method":"POST","re​​lative_uri":"me/my_namespace:find「中, 「身體」: 「蛋= HTTP%3A%2F%2Fwww.mydomain.com%2Fmy_namespace%2Fog%2Fegg.php%3Ftypeid%3D-966&START_TIME = 1317439270&END_TIME = 1317439270」},{ 「方法」: 「POST」,」 relative_uri 「:」 我/ my_namespace:發現」, 「體」: 「蛋= HTTP%3A%2F%2Fwww.mydomain.com%2Fmy_namespace%2Fog%2Fegg.php%3Ftypeid%3D-968&START_TIME = 1317438608&END_TIME = 1317438608」}] –

+0

我有一個facebook應用程序,有兩個自定義對象類型和兩個操作。一個動作/對象組合工作正常。另一個得到「不指定任何引用對象」的錯誤。每次。我已經測試了curl和javascript,同樣的錯誤。我從開發人員的應用程序中複製了示例代碼,並得到相同的錯誤。所以我希望有人在這裏發佈解決方案! –