I have a facebook application that posts to the users Open Graph whenever they beat a level. It posts the score and other information about how they beat the level.
I use the activity feed to look at these open graph posts. I am running into an issue where for one user their activities don't show the captions and the image is bigger.
Screenshot of messed up Activity:
(source: stiqjoy.com)
Screenshot of correct Activity:
(source: stiqjoy.com)
These activities were appearing correctly for the given user, but have recently started not appearing corretly.
I'm a bit stumped as to what the problem could be. I have been playing with the "beat" action and changing some of the captions. I have also changed the Action's properties from time to time. Also, I am giving the open graph post a thumbnail image that is 200x200, instead of the 90x90 that it displays in the Activity feed.
It seems that once this problem starts occurring for a user, it continues to be a problem for every open graph post of that action type that I make for that user.
The weirdest thing is that it continues to work fine for user A, and continues to be broken for user B. It is like something gets messed up for that specific user, and then stays messed up for them.
I'm open to any ideas, and would appreciate any help you can give me.
Edit
I just found it occurring with the "like" action. Except this time, one Activity is wrong and the next activity is right (Both for the same action on different objects) I've looked over both requests in open graph and there is literally no differences, except for the name of the level and object url. I looked at the meta for the object urls and there isn't anything different except for the names of the objects.
I believe you need to set user_generated to false, explicitly, on the image. Also make sure both your og:description and og:title fields are set.
Here is a little more on user_generated images:
iOS - Facebook Open Graph Api -- ensuring that photos are user generated
Please check out the links in the question above:
https://developers.facebook.com/docs/opengraph/howtos/adding-photos-to-stories/
Related
I'm trying to submit a fitness.bikes story from a Windows Phone app. Ideally I'd like it to look the same way it does in the documentation -- a table of stats, and a course map. I'm trying to figure out how to make that happen. Specifically, whether it's possible to make it happen without a 3rd party server hosting the ride data.
Questions:
When I am submitting a course object to Facebook, can I specify all needed ActivityDataPoints to make the map show up, or is something else needed?
In the sample post I've been trying, all I get is the Title, the Image, and the Description. Can I get the table of stats to show up, without needing an external server?
The posts I'm sending are not appearing on the Timeline, even for a test user. They do appear in the Activity Log, and are marked with "Allowed on Timeline", not "Showing on Timeline." I'm using fb:explicitly_shared... shouldn't the post show up?
Ok, after further experimentation, I believe I can answer my own questions:
The fitness.bike activity post data should contain only fb:explicitly_shared, privacy, and course links, and nothing else. For some reason adding created_time makes the post appear in standard layout.
Same answer as above. Table of stats is part of the Map layout Facebook provides.
Same answer as above. Removing the created_time attribute magically makes the post appear correctly on the timeline.
P.S. As far as an external server -- it is necessary only if you want to redirect the user to your own page. Even then, the server can grab the object_id from the URL, grab an access token from Facebook using AppID and AppSecret, then lookup that object (course), extract data out of it, and show on the page.
Hope this helps someone else.
I'm having issues when a user tries to share the URL to a Facebook tab app that I have setup.
When they paste the URL to the tab in their share window and then post their status update, the tab image is shown when viewed on their profile, however there is no image shown on the newsfeed version of the same post.
I've tried adding open graph meta tags to the app, but I believe that it is being ignored since it is located inside of the iframe, and the facebook open graph meta overrides it.
Does anyone know how to ensure an image is maintained when the tab URL is shared directly?
I've burnt a lot of time trying to solve this issue as well. The best I've come up with is that Facebook is going to chose to display the 111x74 app icon. Sharing this on a page's news feed makes it very pixelated and oddly offset, as it should be using a 1200x630 minimum image size, as dictated by the OG tag best practices, but Facebook has not allowed us to have that option in the app configs. It may be that your app icon is being offset enough to not appear like it's visible in the news feed.
So, from my research, we're out of luck until Facebook decides to fix this issue. Until that time, I don't think it's even worth trying to get the any image to work.
Someone feel free to prove me wrong.
I am posting an Open Graph story using the graph API but the post is not shown anywhere on my Facebook wall and there is nothing in my Activity Log either.
I configured the story in the App dashboard. The object has one custom property and it is a self hosted object with a public URL. I used the object debugger tool https://developers.facebook.com/tools/debug to make sure that all the metatags (including the one for the custom property) are there and no errors are shown.
Then I make this call to post the story:
https://graph.facebook.com/me/namespace:action?access_token=ACCESS_TOKEN&method=POST&result=MY_OBJECT_PUBLIC_URL
and I get the post ID in the response:
{
"id": "SOME_ID"
}
I can even get all the information related to the post using the graph API with the Post ID returned.
HOWEVER, I DON'T SEE THE POST ANYWHERE ON MY FACEBOOK WALL, NEWS FEED or ACTIVITY LOG.
Any ideas of what might be happening?
I am having a related problem (I think). Let me first say that I use our own Action Types and Stories (i.e. https://graph.facebook.com/me/:).
What I noticed is that while the action does not appear on my wall, it shows up on my friends' News Feed (so even if I can't see it, they can "like" and "comment" on it), and also putting it's ID on the Open Graph Action Debugger tool, I can see the post's details.
BUT, what I also noticed is that it shows up in my activity log! (button on the right-bottom position of your cover image) Then, if you go to each activity entry, there is a small icon on the right with a pencil on it. Clicking on it, it shows that this means that the activity/action/post/whatever is "allowed" on your timeline. But, if you change that to Show to Timeline, it will actually be shown!
So, I think this is where you/we should look further (for example a setting/permission request to enable this by default -- not sure if anything like that exists though).
First at all you need to get approval for every item of your open graph story. You can test your application without approval un-publishing it and adding some user as testers in the Role settings.
Now, to see your open graph activity in your timeline after publish you should configure the Additional Capabilities for you action type. So you need to check the Explicitly Shared option in the Capabilities section for you action. After that you need to include the parameter fb:explicitly_shared=true in the open graph call.
You can take a look to the Additional Capabilities here : https://developers.facebook.com/docs/sharing/opengraph/using-actions#capabilities
Explicit shared should be added in the post parameters.
Refer this link
You may need to enable the 'explicity shared' setting for the open graph action in the Facebook Developer App Dashboard in the website.
You need to add "fb:explicitly_shared" action parameter with value 'true' while posting it.
Also you need to toggle explicitly_shared in Actions' properties configuration page.
You need to be an administer of the app otherwise you will need to get the Stories approved by Facebook.
Hope this could help.
I could totally be wrong, but you may need to submit your Open Graph action to Facebook for approval. And you'll need to set explicit sharing if you want your action to show in places other than your own timeline and activity.
I say I could be wrong because you should at least be able to see your action within your activity log. It's difficult to say without looking more closely at your Open Graph Action and Object.
I had the same issue, I could post the stories but could not see it on the timeline, issue was FBDisplayName in the app has to be same as the one configured in the FB developer console.
make sure to add the Canvas URL under the "App on Facebook" section, I hope it works for you
I'm posting a custom Open Graph object/action to Facebook successfully.
Our production and staging environments each have their own FB app, which are configured identically (except that in our production app, objects and actions are approved, as is our App Details page).
For some reason though, staging is posting with a larger photo with title/description underneath. Production posts have a smaller image with all text to the right.
I don't remember doing anything special on staging, but in the end, we want posts from production to look like they do on staging. Any idea which setting I need to tweak?
UPDATE: I've learned the stories with larger images are called "image-led stories." The only thing that's mentioned in the above link as to how to get this new layout is:
Larger News Feed story layout generated by an Open Graph post using an image size larger than 200 x 200px.
Using the FB debugger, you can see that both images scraped by FB are 600x600:
Story from production (small layout)
Story from staging (large layout)
Frustratingly, there is no setting you can tweak, and it's totally out of your control as to how your posts will display in someone's News Feed. If you want the "image-led" display style, your photos need to be >= 200x200, but other than that, Facebook determines how it's going to display something.
I found this out after a few days of banging my head and reading everything over the web and finally giving up. We shipped the feature and I just told my coworkers there was nothing we could do.
Then, in my News Feed, I saw a coworker's posts, and they were formatted with the small image. Later that day, she sent an email thanking me because she was excited about the OG integration with our site, and the screenshot she sent had her posts in her feed with the large image.
Same person, same posts, different display in two different feeds.
If someone is having this problem you can solve it by setting the following:
1) On open graph console inside action type mark this option --> User Generated Photos - Let users include photos taken with the camera on their device
2) On your SharePhoto setUserGenerated on true.
SharePhoto photo = new SharePhoto.Builder()
.setUserGenerated(true) // Necessary to post a big image
.setBitmap(shareItem.getImage())
.build();
I'm having a problem using Facebook's OpenGraph. I'm attempting to implement timeline features into my application. However, when try changing my meta tags to change the tile of my object, the changes are not reflected. When I pass my url into the debugger tool facebook offers, it displays that my OG object is still using the old data, as opposed to the new data. However, the weird thing is the raw properties show my changes. How do I get facebook to update the OG object?
Another problem I'm having is that when I make changes to my actions, facebook isn't properly updating it. When I reopen the action, it's still referencing my old object titles. For example, if a title of one of my movie objects was "sci fi," and I reference "sci fi" in the action "see," it will still be referencing "sci fi" even if I try to change it to something else. I would save and it, but when I reopened the action the old settings where still there.
I was also wondering about dynamic generation of objects. For example, if I had an app that allowed people to list movies they've watched, could I dynamically generate the OG object so that users can have the "see a $movie" show up in their timeline no matter what movie it was? The reason I'm wondering is because right now I'm unsure whether or not I need to keep the page with the meta tags up after I use it once.
Sorry for the word blocks and if my questions seem basic to you. I'm pretty much a newbie at this.
Putting your URL into the Object Debugger should force Facebook to crawl it. Do you have your og:url pointing to the old URL?
I don't understand your second question. Is Facebook not crawling your page? It should recrawl every 7 days or you can force it with the scrape API.
For your third question, yes, you can do that. Just make a different URL for each movie with a different og:url. For good SEO you want to do example.com/movie/1234/The-Matrix.
http://developers.facebook.com/tools/debug
Try this and put the link of the page you want facebook to clear its cache for.