poilu933
poilu933

Reputation: 61

Facebook OpenGraph story displayed only to "developer" users when sent from Android

We are creating an iOS / Android application in which users can "dedicate" a song using Facebook. For this we created an OpenGraph story, performed all the tests as developers, submitted the story to Facebook by giving them the iOS and Android test apps, and after several reviews the story was accepted.

To make sure everything was OK, I opened my Android app and tried to publish a story from a non-developer account (account A).
But nothing showed up, nor in user's timeline nor in activity log. Now I re-logged using my "developer" account (account B) and opened A's profile. The stories displayed correctly in A's timeline.

Puzzled I re-logged with the basic account A. I published another story in which I tagged another non-developer account C.
I re-logged on C account. There was a notification that someone tagged me in a publication. I clicked on the notification, this opened an error page :
"Ce contenu est actuellement indisponible La page demandée ne peut pas être affichée. Il est possible que cette page soit temporairement indisponible, que le lien utilisé ne soit plus valide ou que vous n’ayez pas les droits d’accès pour cette page."
which means "This content is currenlty not available. The requested page cannot be displayed. It is possible that it is temporarily unavailable, that the link is not valid or that you do not have access rights for this page"

But on C's timeline the story is published, while on A's timeline it remains invisible, regardless whether we are logged in as A or C.

I thought that it was a problem with Facebook's story publication not really finalized or something like this. But today I learnt that on the iOS app, the story did display correctly for everyone.

Did anyone encountered this weird behavior ? Where should I look to correct this ?

For information, this is the code I use to publish the story :

OpenGraphAction action = GraphObject.Factory.create(OpenGraphAction.class);
action.setProperty("song", pendingDedicatedTrackUrl);
action.setType("hitster_music:dedicate");
action.setMessage(pendingDedicateMsg);
action.setProperty("message", pendingDedicateMsg);

FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(activity, action, "song")
                .setApplicationName("HITSTER MUSIC")
                .build();
uiHelper.trackPendingDialogCall(shareDialog.present());

I also tried with and without calling OpenGraphActionDialogBuilder.setApplicationName, it makes no difference.

Upvotes: 3

Views: 141

Answers (1)

poilu933
poilu933

Reputation: 61

For anyone interested in the answer : I guess there are several possible reasons, in our case, it was a problem in the web page. Before requesting the story review we made several tests using "test apps" (fake apps with limited access), but the guy in charge of the web page forgot to update the app id in the meta-data after the story was accepted. So when a user not registered as developer of the test app tried to view a publication referring to this page, FB was confused...
After the correct app id was set in the page meta-data, everything worked correctly.
Why did FB permit to publish the action in the first place, this I do not know ;)

Upvotes: 3

Related Questions