2012-02-29 37 views
0

我讀過幾篇文章,其中人們在其對象實例中指定了錯誤的og:type或og:url,並且會產生此錯誤。這是一種不同的情況。OAuthException 3502即使將正確的對象類型發佈到臉譜圖

我有一個完美的應用程序。它定義了對對象'item'起作用的'love'行爲,它產生了例如'喬喜歡音樂'就好。它的應用程序名稱空間是'promo'。

出於測試目的,我創建了第二個應用程序,幾乎完全相同,具有相同的操作和對象定義。由於應用程序不能使用相同的名稱空間,因此我已將此應用程序的名稱空間分配給'promoTest'。我已經將代碼設置爲可配置的,這樣第二個應用程序生成的對象將顯示爲正確的og:type = promoTest:item。

所以總結

  • 應用1產生OG的對象:類型電視節目預告:項'
  • 應用2產生OG的對象:類型 'promoTest:項'。
  • 這兩種類型前綴都匹配其應用程序各自的名稱空間。
  • 從這兩個應用程序生成的對象在對象調試器中工作良好。 0錯誤。

的問題是,應用程序1個作品完美,而應用2產生以下錯誤:

OAuthException: (#3502) Object at URL <url> has og:type of 'promoTest:item'. The property 'item' requires an object of og:type 'promo:item'. 

應用2產生正確的類型。但Facebook正在抱怨它需要與App 1關聯的類型。這幾乎就好像應用1的項目正在取代應用2的項目一樣。當然,有數百個名爲'item'的對象的應用程序,這就是我們需要命名空間的原因。

那麼爲什麼Facebook要求應用2的應用1的名稱空間?

回答

3

兩件事情可能是錯在這裏:

  • 在FB:APP_ID標籤必須你正在嘗試使用
  • 兩個對象的網址必須爲不同的應用相符的 - 例如,你應該有app1.example.com/some/url和app2.example.com/some/url - 否則Facebook將看到相同的URL並將其視爲與首次發佈操作時使用的任何應用程序相關。