I’ve read several posts where people specify the wrong og:type or og:url in their object instances, and that produces this error. This is a different situation.
I have one app which works perfectly. It defines action ‘love’, which works on object ‘item’, and it produces e.g. ‘Joe loves music’ just fine. Its app namespace is ‘promo’.
For testing purposes, I’ve created a 2nd app, nearly identical, with the same action and object definitions. Because apps cannot use the same namespace, I’ve assigned this app’s namespace to ‘promoTest’. And I’ve made my code configurable so that objects produced by this 2nd app will appear as the correct og:type = promoTest:item.
So to summarize
- app 1 produces objects of og:type ‘promo:item’
- app 2 produces objects of og:type ‘promoTest:item’.
- Both type prefixes match their app’s respective namespaces.
- Objects produced from both of these apps work fine in the object debugger. 0 errors.
The problem is, app 1 works perfectly, while app 2 produces the following error:
OAuthException: (#3502) Object at URL <url> has og:type of 'promoTest:item'. The property 'item' requires an object of og:type 'promo:item'.
App 2 is producing the correct type. But facebook is complaining it wants the type that is associated with App 1. It’s almost as if app 1’s item is superceding app 2’s item. Surely there are hundreds of apps with objects named ‘item’, which is why we need namespaces.
So why is facebook asking app 2 for app 1’s namespace?
Two things possibly wrong here: