Open Graph object showing different with each story - facebook

Okay, I'm not sure if I'm doing something wrong in Open Graph, but here goes. I've got 3 stories in my Open Graph, which are three different actions linked to one object type.
Make A Pledge To -> Cause
Create -> Cause
Log Expense For -> Cause
Here is what the three look like in the sample section (I'm pretty sure they look like that in the actual timeline as well).
Make a pledge to a cause:
Create a cause:
Log an expense for a cause:
Is there a reason why the "make a pledge" layout is different? Both objects are actual objects on my website, parsed via providing the url to Facebook's sample data tool. I've set the caption in the "make a pledge" story to the same as the "create" story, but the description and cause target that appears in the "create" story doesn't appear in the "make a pledge" story.
Could someone help me on this? Is there a way I can make the "make a pledge" story look like the "create" story? Or is this something Facebook decides?

Facebook uses both formats – and which gets chosen is not up to you or any settings you make/picture formats you use, but Facebook themselves decides that. It might even be one or the other for different users viewing one and the same story.
They do that to test out the formats, and see which one is more “successful”, meaning which one generates more user interaction.
(Can’t point you to a source for that, but is has been confirmed by Facebook employees in the Facebook Developers Group.)

Facebook checks if an image is available on the referenced site/link. If it finds it, it shows a slightly different format. Your second two actions didn't have an image in the reference.

Related

Posting a Facebook Story causes two entries to appear in Activity Log

I am posting a Facebook Story using an Open Graph Action and Object. Everything seems to work great except when I look on my activity log. I am seeing two entries, one expected one
"<'name> <'action> <'noun> in <'game>"
but I am seeing one that I don't expect
"<'name> posted a <'noun> in <'game>"
I've tracked it down and it seems to get posted as soon as I create the Open Graph object using FB.API("/me/objects/<'game>:<'object>", Facebook.HttpMethod.POST, CreateObjectCallback, oParams);
Which I believe is required to create the object that will be used in the story post. Does anyone know how to create this object for use in the story post without having an entry added to the activity log for it?
Thanks!

Facebook Share Error: User is already associated to the object type

When I try to share same content twice I get following Error
User is already associated to the object type, website, on a unique action type Like. Original Action ID: 1394xxxxxx....
Can someone please help me with this?
I already referred this link -
Error: (#3501) User is already associated to the object type, article, on a unique action type Like. Original Action ID: 10202808015141547
but did not find the steps mentioned there(settings of Open Graph action)
Can you please post the code you are using when sharing the content?
Form what I understand from this, it's all correct:
You are "sharing" an action twice, as you mention,
The "sharing" is probably actually a Like,
Objects can only be Liked once by an User,
The error message also refers to the Like as an unique action type,
To fix this, you have to either:
Check your code that you are actually sharing something, and not liking,
Even with sharing, FB will check if you did not recently shared it. If you do so, it might be spamming or an error on your side,
If you want an other Open Graph action then Liking, create them and make them non-unqiue.
The above is all derived from the context. If this sound incorrect to you, please post the exact code you use for sharing.

Facebook Like posting different to what debugger showing

I cant figure this one out, i have built a site with an e commerce system and i want visitors to be able to like an individual product and thus that product be added to their feed.
I have added all the open graph code to the relevant place, but when someone clicks "Like" is shares a default thing rather than the perticular product. this is the one i have been using for an example
https://pinnaclesupplement.co.uk/index.php/shop/168/10/weight-gainers/serious-mass-2-72kg-detail
so I tried using the facebook debugger to see if i could figure it out, but thats is showing the correct info and exactly what i want to show up on peoples feeds! here is a link for that.
https://developers.facebook.com/tools/debug/og/object?q=https%3A%2F%2Fpinnaclesupplement.co.uk%2Findex.php%2Fshop%2F168%2F10%2Fweight-gainers%2Fserious-mass-2-72kg-detail
You have your Like button set up to point to http://www.pinnaclesupplement.co.uk – so when people klick like, they only get the “default thing”, your basic site’s description.
If you want customers to like a specific product page’s URL – then you should point the href parameter of the Like button there.

Open Graph Action and Object Resubmission

As I submit an application for "read" action on Open Graph I received the following response.
Status: Changes needed
Unfortunately, your article.read built-in submission does not meet the read requirements specified at: https://developers.facebook.com/docs/opengraph/actions/builtin/#read. You must give users the ability to turn sharing off/on globally as well as remove an article that was shared within the app. In addition, read actions should only be generated when there is a strong indication that the user is actually reading the article. Please note that we cannot accept resubmission as this time due to technical limitations, so you will need to create a new submission. We plan to have this resolved within the next couple of weeks. We suggest making the required changes and checking back. We appreciate your patience. Note: If you are creating an aggregation based on the object, you need to add 6-7 unique sample objects, and then create a corresponding sample action acting on each of these unique objects. (You can not just create 6-7 sample actions pointing to the same sample object). Submission Checklist: https://developers.facebook.com/docs/opengraph/checklist
Please make changes below and resubmit for review.
Unfortunately, this "guide" is not helping with anything. Firstly, I have no idea where to do this:
You must give users the ability to turn sharing off/on globally as well as remove an article that was shared within the app.
Second of all, I don't even know how to "resubmit"!
Any help would be appreciated.
I was experiencing the same thing. You have to click on the name of your action that you submitted. Once you do that, Facebook provides detailed instructions why they didn't approve the action and what you need to do before you resubmit. Once you review the message, you can make the necessary changes and save the action again. Then you'll have the option to resubmit. In my case Facebook said that I need to provide more detailed instructions what the user needs to do to get an action published. They provided this example: "User must create an account, enable Timeline sharing in the settings, view a product within the app and then click the “want” button underneath the product image to trigger a story". I did that and resubmitted. Hopefully it works this time around. Good luck.
To resubmit, just delete the rejected action and create a new one. You can use the same action name as before. You then go through the submission process again as you did the first time.
Facebook have recently updated their guide to implementing their built-in action types. For the Read action type, see https://developers.facebook.com/docs/opengraph/actions/builtin/#read. You will see a sample application that meets the following criteria required for the use of this action type:
Turn sharing on/off globally on each page an article appears.
Remove articles they shared within your app on each page an article appears.
Only generate read actions when you're sure someone is interested in reading the article.
Built-In actions can't be resubmitted. It is a FB Bug:
https://developers.facebook.com/bugs/364663400220101?browse=search_4f44876aabaef7501649601
From this answer on FB tools and support I got this:
You can start a new submission at the bottom of the "Items in Review" page:
https://developers.facebook.com/apps/337449599791917/review-status/items-in-review/
That link didn't work for me.. so I just went to the app dashboard and clicked on status and review
clicking on the start a new submission button loaded a dialog that prompted me to select which items to "re-review".. so I only selected the problematic one:
after that it loads a form for you to resubmit, so here you gotta re-upload the iOS simulator build etc..
and that's it!

Like button and privacy concern

I'm operating a website within the EU and nowadays there's no way without those social buttons all around (according to "them" "up there").
Recently there's a concern about the legality of this in the EU, notably the collection of user information sent to the US servers without explicit user consent.
There was a German report on golem.de, along with advice from a lawyer (sorry, German only) that it would be sufficient if the integrated like button would not automatically trigger an interaction with the US server per se, but only with user consent, i.e. manual interaction such as the click.
We currently use the official method of inclusion along with subscribing to the edge.create event to get some sense of its usage. But unfortunately this works by loading an iframe with content from Facebook, thus immediately sending data about the user without his consent, without him even clicking on it. I seek a way to avoid that.
Idea: Show a local image with a local href which starts loading the Facebook stuff only when user actually clicks on it.
The problems as I see them:
The user clicks on my DOM element and now I'd need to act like the real FB button was pressed, but how can I do that, since the real button isn't there? If I load the button, the user would see a second one, need to click again, etc. I'd need to load if off screen, fake the click, etc. Complicated and confusing.
The counter next to the likes would be missing. I'd need to find a way to get that information for the current URL (e.g. server side), smartly cache that data, and still be able to show that to the user. I have no idea where I would get that data.
Being within EU or not, law or not, since I started only recently looking into this (because my job demanded it), it got me the creeps when I realized how it really works. I'm a web paranoid, can't believe I'm alone.
Any ideas how to tackle the above problems?
For me, the ultimate solution is how the German news portal heise.de implemented it.
Unfortunately it's all in German, but their solution is to show a dummy picture before instead and allow the user to selectively allow it for the whole site. See the article in German or Google translation to English.
This created quite some user interested (German article, Google translation to English) and has already called Facebook (presumably from Germany) on the plan, as they wrote in their article, that it is against their policy to use their button in they way they did.
Update:
And now it hit Slashdot: Heise's 'Two Clicks For More Privacy' vs. Facebook
The edge.create callback doesn't include the user ID; it just notifies you of which Like button was clicked. Unless the user has given you their details some other way, there's no way to determine from Facebook who the user is from either the presence of a Like button or from the user Clicking on it.
Facebook's FAQ item about what information is collected by Facebook when users view Like buttons but don't interact with them is here: https://www.facebook.com/help/?faq=186325668085084
To answer your specific questions:
I'm not sure how to do this without it being a jarring user experience. Effectively, you're describing a solution where you want to offer Facebook Like functionality, but make the user click something first saying 'I want to see the Facebook Like buttons'
You can access the current Like count for any URL or object in the Graph API at https://graph.facebook.com/, for example, a call to https://graph.facebook.com/facebook returns the following information (in JSON format):
{
"id": "20531316728",
"name": "Facebook",
"picture": "http://profile.ak.fbcdn.net/hprofile-ak-snc4/174597_20531316728_2866555_s.jpg",
"link": "https://www.facebook.com/facebook",
"likes": 51545712,
"category": "Product/service",
"website": "http://www.facebook.com/\n",
"username": "facebook",
[...]
the likes field there isn't exactly the number which would be displayed on a Like button, but it's a good number to start from.
(The actual number on the Like button also includes other statistics, as mentioned on https://developers.facebook.com/docs/reference/plugins/like/ )