问题
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?
回答1:
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
回答2:
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/ )
来源:https://stackoverflow.com/questions/7187673/like-button-and-privacy-concern