Update Facebook service to latest Facebook Graph API version v13.0 and change field from engagement to og_object #179
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Current Facebook Graph API version v13.0 has been released on February 8, 2022, see https://developers.facebook.com/docs/graph-api/changelog.
The changelog for version 13 seems not to be ready, but the blog post here doesn't show any breaking changes: https://developers.facebook.com/blog/post/2022/02/08/introducing-facebook-graph-marketing-api-v13
But there is something which has been noted in the release notes of version v10.0 which has an impact on getting the share counters, see section "URL" https://developers.facebook.com/docs/graph-api/changelog/version10.0 :
The first point seems to be the reason that the counters in the answer are all zero when using the existing code with just the version number changed, like I have done it many times with PR, the last one is #169 .
But if I change
fields=engagement
tofields=og_object{engagement}
(or to be precise,fields=og_object%7Bengagement%7D
with the curly brasckets encoded), then it works, and the response looks like:The count is the total of the 3 counts which are received with the current code without this PR.
This PR here makes the necessary changes to work that way. I also works with previous API versions in that way.
The second point mentioned in their change log could make it necessary to re-consider something like suggested in issue #148 .
But it could also be that the restriction doesn't apply with the change in this PR. The docs are not clear to me about this.
How to test: Code review should be sufficient, but if necessary, check if Facebook counts still work with this PR applied and if the result is the same as without 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.
In addition, it could be necessary soon to get this PR merged due to the statement
Applies to v10.0+. Will apply to all versions on May 25, 2021.
in their change log.