Facebook Graph API Upgrade - facebook

I'm working on website that has an old facebook API implementation with Facebook SKD for PHP. I'm not able to update SDK to newer version since it requires PHP 5.4, this project works under 5.3 so I'm forced to use old one.
I have access to API upgrade tool and it shows me a lot of methods that I should fix, for example GET /posts
Assume I want upgrade to v2.4 and I use link to find out what changed in that request. What I found:
Deprecated Fields
As of April 18, 2017, the following parameters are no longer supported
by Graph API versions 2.9 and higher. For versions 2.8 and lower, the
parameters will continue working until July 17, 2017.
The link field is still supported, but its sub-fields have been
deprecated.
I feel myself so stupid but I can't realize what should I use instead of link field after it will be deprecated on 17th July?

what should I use instead of link field after it will be deprecated on 17th July?
The link parameter itself is not deprecated; only the "sub fields" that allow you to overwrite the title, caption, description and thumbnail dynamically, are.
This data is now taken exclusively from the Open Graph meta tags the URL posted returns. (With one exception, for page posts it is still possible to at least specify the image to be used dynamically.)

Related

Appcelerator - Error when i try to share on facebook with Titanium SDK 7.2.0 GA

I have updated the Titanium SDK of my app to Titanium 7.2.0 GA and since then i keep getting an error when i try to share something in my app with Facebook. The app uses the facebook module version 5.7.0.
The error appears in a webview facebook when i click on the share link, the error is : "The parameter 'href' or 'media' is required".
I've followed every recommandations of this page http://docs.appcelerator.com/platform/latest/#!/api/Modules.Facebook and even used their example code to test but i keep getting the same error.
Here is the code :
facebookBtn.addEventListener('click, function() {
fb.presentShareDialog({
link: 'https://appcelerator.com/',
hashtag: 'codestrong'
});
});
I can't figure out what is wrong.
Any idea ?
I ended up downgrade the version of the facebook module and it seems to work now...
I had a similar issue using FB version 5.7.0's presentShareDialog with a mode of 'SHARE_DIALOG_MODE_NATIVE' and a 'link' only (as recommended by FB) which produces no text or image in the FB app Timeline. Also Appcelerator's GitHub documentation and samples continue to be out of date, suggesting as they do to use a 'title', 'description' and 'picture' property, all of which do nothing these days as I believe FB scrape relevant text and an image from the link's target website.
In the end I also went back to an older version of the Ti FB module - version 5.6.0. which seems to be the last one to actually work with presentShareDialog.
Since I just hit this error using facebook 5.8.0 from the git repo (https://github.com/appcelerator-modules/ti.facebook) and I really don't want to have to push an app out that uses a Facebook SDK that is 2 versions old - I added a comment refering to this page to an Appcelerator JIRA ticket that is about updating to graph 3.0.
https://jira.appcelerator.org/browse/MOD-2430
Regards,
Brad.
Hans here from Appcelerator! We have been pretty busy migrating to the Graph v3 API that has recently been released by Facebook. We also updated all Facebook related docs to reflect the recent privacy changes that broke some functionalities and parameters on the Facebook SDK end.
You can also follow MOD-2430 for the current process and try the v5.9.0 pre-release version that is Graph v3 based.
Note: The issue was that when migrating to an earlier graph version, the link property was replaced by the (undocumented) contentURL property. In module v5.9.0, using the link property will work just as before. We will try to include this module version in the next version of the core-SDK as well to ensure our developers have the latest version ready.

How do i get app_data on a Facebook page tab using php sdk 5

I try to pass variable like this https://www.facebook.com/testapp/app/appnumber/?app_data=522 in a page tab/app/game and then retrieving the value, using php sdk5 graph api 2.5, is there any solution or even with the facebook js sdk
Right now there are a series of bugs open for dealing with the app_data parameter, for example:
https://developers.facebook.com/bugs/408615369335909/
https://developers.facebook.com/bugs/165446117136338/
The format you chose should work in general, just subscribe to the bugs.

Facebook breaking changes July 2013 ('page_id' -> 'target_id')

The 'page_id' field in the checkin FQL table. Please use 'target_id' instead.
I understand what it means, but I don't know what I have to meet the requirements of this ('page_id' -> 'target_id'). I was searching in my code and I can find directly query to this field. I looked to Facebook SDK as well, but I cound't find it neither. I'm search for HTML, javascript, but I still can't find it.
I used in my app retriving user datas in scope - email,user_likes,publish_stream and checking if user like specified page.
Maybe someone know what has to be changed?
I am facing the same issue to all of my apps. I am not using FQL at all. As I get it it's just a notice and if you update your app details you wont have a problem. Just tick the July 2013 option and you are OK.
If anyone has a different solution please write it here.

Facebook Comments are associated to an url

I'm going to add the ability to comments the products trought the "Facebook comments plugin" on a dynamic web marketplace based on Yii framework .
So, today I created a new facebook app, I included the facebook sdk js file and I added this html code to the view that render a single product:
<div class="fb-comments" data-href="<?=$this->createAbsoluteUrl('site/courseDetail',array('id'=>$model->course_profile_id))?>" data-num-posts="10" data-width="470"></div>.
The comment is linked to the URL!!
Well, what happens if the domain change or if I decide to add an url rewrite engine to my web application?
I suppose that I loose all the comments....weird....it is a big limitation...
I read the documentation: https://developers.facebook.com/docs/reference/plugins/comments/
and I saw that now is strongly recommended to use the html5 code because the FBML has been deprecated. Starting June 1, 2012 FBML apps will no longer work as all FBML endpoints will be removed.
So, I can't use the xid parameter such as on <fb:comments...>
right?

Getting old records from Facebook using the API

I want to fetch some historical data using the api. But when I access older and older pages, I suddenly hit one that's returning me empty data.
For example, call to this url: https://graph.facebook.com/kenderken/posts?limit=100&until=2010-06-01T09:10:53%2B0000 returns me empty data even that there are posts on my wall that are older then 2010-06-01... (here's the last one that API returns to me: http://www.facebook.com/kenderken/posts/134367776579392 and this one http://www.facebook.com/kenderken/posts/271650467287 is from January 2010, no way to get it via API)...
Any clues on that?
That is a fairly common bug with Facebook. If you search http://bugs.developers.facebook.net/ you will find many similar reports.