heiseonline / shariff-backend-php

👮 PHP backend for Shariff. Shariff enables website users to share their favorite content without compromising their privacy.
http://ct.de/-2467514
134 stars 44 forks source link

Update Facebook service to latest Facebook Graph API version v10.0 #173

Closed richard67 closed 3 years ago

richard67 commented 3 years ago

Current Facebook Graph API version v10.0 has been released on Tuesday, February 23, 2021, see https://developers.facebook.com/docs/graph-api/changelog.

There have not been any breaking changes regarding sharing counts, see https://developers.facebook.com/docs/graph-api/changelog/version10.0, so only the version number has to be increased with this PR here.

But there is something which has an impact on getting the share counters, see section "URL" on the latter page:

Engagement
- Due to privacy concerns, counts returned by a "GET /?id={url}/engagement" request may not match raw counts. 
- Requests for the "GET /?id={url}/engagement" field for the same URL will be limited to 10 requests per hour.

This could make it necessary to re-consider something like suggested in issue #148 .

How to test: Code review should be sufficient, but if necessary, check if Facebook counts still work with this PR applied. Of course I've tested this on my website, as usual.

Reason for this PR:

As already elaborated in PR #128, Shariff backend will not get any result for an app_id if the app has been created with a newer Graph API version than the one which Shariff backend uses in the URL for getting the counts, because a Facebook app is limited to the minimum Graph API version which was current when the app has been created.

richard67 commented 3 years ago

It seems the counters are zero when using API version v10.0. I have a solution ready but I'm not sure if it's the right one. Will continue to investigate and test. For the mean time I close this PR and re-open the previous one for the update to v9.0 which still works without the other changes.