Facebook API replaces part of URL - facebook

I am querying facebook posts of a specific fb-page and reading the posts to view them on a website. In a new post they've just created, there's a URL that links to an external page. Normally, facebooks API delivers this link just as is.
But this time, it replaces a part of that URL with a random(?) number. The link that's in the post is: www.roboterwelt.de/magazin/videos/10-roboter-die-die-welt-veraendern-werden/ and what i am getting is www.roboterwelt.de/10153713783568127/videos/10-roboter-die-die-welt-veraendern-werden/
This is my query URL (the app is not running via any Facebook SDK): graph.facebook.com/v2.5/me?fields=name,picture,posts.limit(100){comments.summary(true),likes.limit(0).summary(true),link,full_picture,created_time,id,message,type}&access_token=*
The fb-post i am working with is https://www.facebook.com/markedingplus/posts/664595060338842
Do I have to send any other paramters? Does anyone know what that number is?

Related

Get URL (Link) for facebook post using post ID

I am trying to get a post from a company Facebook page.The link is for an application i developed that feeds of information from another applications database that uses the Facebook API.
i want to create a link eg www.facebook.com/{postID} that will take me to the specific post.I have tried numerous articles and all seem to send me to a 404 page. Please help.
Thanks
My Application uses the facebook api that accepts data related to a facebook page content (i.e posts,photo's,statuses etc).part of the api is that it saves the actual post id pertaining to a post for e.g. 302961133120433_576487772434433 into my applications database.As you may see that the post id has 2 parts separated by an underscore.So i needed to make a url based on this post id.
Solution for the link is:(2 parts of it,first being page id and second being actual post id)
Hope this helps.
You have facebook API doc on post here : https://developers.facebook.com/docs/graph-api/reference/v2.8/post
the URL you want is called "permalink_url" as field name, so the API call to get that link is in this format:
URL = 'https://graph.facebook.com/v2.8/' + postId + '?fields=permalink_url&access_token=' + facebookToken
Here is a screenshot for my testing in FB API explorer.
If you want to get a list of posts on IDs on a particular page, it doesnt seem to be documented but this works:
https://graph.facebook.com/teapartypatriots?fields=posts.id&access_token=<TOKEN>
If anyone only needs to redirect to the post URL, just put the post id after https://www.facebook.com/ and it will be automatically taken to the post.
more information from the official docs https://developers.facebook.com/docs/pages/publishing/

Feed Dialog Garbling My Passed Referral Link Only When Post Image is Clicked?

I run a site that allows registered site members to refer people back to my site using their referral link
(EX: http://www.mygreatsite.com/home?ref=MaxP)
Recently I coded into my site an implementation of the "Direct URL Example" (https://developers.facebook.com/docs/reference/dialogs/feed/) in order to enable my site members to post to their timeline a post which describes my site and includes their own referral link back to my site within the code.
Everything is working fine when a prospective site referral viewing the resulting post clicks upon the post link text (the get sent to a properly formatted referral link as planned - "http://www.mygreatsite.com/home?ref=MaxP"
The problem I'm having is that in the same post if the prospective site referral clicks upon the image then the referral link get's garbled like this "http://www.mygreatsite.com/home?ref=nf" which is a totally invalid referral link that has nothing to do with what link it should be sending them to ("http://www.mygreatsite.com/home?ref=MaxP")
Why is facebook erroneously arbitrarily replacing the proper referrer "MaxP" with "NF" only when clicking upon the image of the post? What does NF mean and why is it there?
Here is the URL that my code is passing to facebook (site url, app id, and name replaced to protect my privacy):
https://www.facebook.com/dialog/feed?app_id=161070640444808&link=http://www.mygreatsite.com/home?ref=MaxP&picture=http://www.mygreatsite.com/images/banners/9.jpg&name=mygreatsite.com%20Ultra-High%20Payout%20site&caption=Paying%20DAILY%20to%20virtual%20points&description=%20%20is%20an%20ultra-high%20paying%20get%20paid%20to%20%28site%29%20site&redirect_uri=http://www.mygreatsite.com/members/refer.php
Thank you.
The problem I'm having is that in the same post if the prospective site referral clicks upon the image then the referral link get's garbled like this "http://www.mygreatsite.com/home?ref=nf" which is a totally invalid referral link that has nothing to do with what link it should be sending them to ("http://www.mygreatsite.com/home?ref=MaxP")
ref=nf is a Facebook parameter for tracking where the link click came from/occurred (in this case nf = news feed).
I think Facebook just overwrites any pre-existing URL parameter of that very name by it’s own – so I’d suggest naming your own parameter something different, that does definitively not get used by Facebook, for example myRef=MaxP.
You will still get the ref param from Facebook, but it should result in an URL like …/home?myRef=MaxP&ref=nf, so that you’d still be able to read your own referral value from it as myRef. (In theory; haven’t tested this myself yet – please let us know the result ;-))

Can an in-app object only be posted through an opengraph action?

I have a page inside a facebook application that is an opengraph object, when I post a custom action on this object to facebook from my app it is posted right, but when I use a facebook social plugin such as like and like that object it is not posted as that object but instead the object of my facebook application is posted on the timeline... so my question here is Can an in-app object only be posted through an opengraph action?
Nope, new OpenGraph object will be created or data will be updated for existing one once Facebook linter crawl your page to get data this will happen in several cases:
OpenGraph action referencing object published
Like button clicked for specific URL
Link to your page shared on Facebook (in direct way or via any dialogs using link, etc).
Your Like button is probably linked not to your real application URL but to URL within Facebook resulting in different Pages parsed by Facebook on Like Button click and OpenGraph action publishing.
I assume that your like button pointing to Application Tab Canvas or Application Page since links to regular application's canvas parsed correctly by Facebook.
Update:
Seems like the issue with OpenGraph tags is related to the fact that your application returning 404 (Not Found status code) for URL you provided and only returns data for HTTP (but not HTTPS) requests. If error code is returned the cached data is preserved and will not be updated until correct status code returned.
Update 2:
As you've provided real URL it's became clear that you get details for your application instead of actual page because of redirect for all unauthorized users, which lead to inability to rich the real OpenGraph data by Facebook linter.
BTW, You should be aware that every OpenGraph object MUST have publicly accessible URL.

Why do app posts to Facebook not show as pasted via my app, despite OK OpenGraph response?

We have an app on Facebook called TouchActive
We provide ways for user to post content to Facebook, either from web (via AddThis) or native Android/iOS app.
When we post from say Android we identify the app and the post appears correctly, showing "... via TouchActive" all fine.
When we post from web, we post a URL that Facebook queries, and we provide an OpenGraph response from our server with all the og: meta tags, including the facebook app_id.
The content appears correctly (it's parsing the OG response OK), but it doesn't show as posted via our app, and the posts don't appear in our Insight statistics for the app.
We are assuming this can be done.
Anyone know what we could be doing wrong in our open graph response that causes this to not work?
I have tried the Facebook debug tool https://developers.facebook.com/tools/debug and it shows the correctly parsed OG response and no errors, only a warning about og:url.
Is og:url recommended or a MUST for this to work?
Andrew: I am also using the same meta tag for my site and it works as expected and the post is attributed to my site. I guess u should specify the og:url meta-tag once and then check. As this url is used on the attributed app's anchor link on fb wall.
If still it has the same issue then we can dig it more to come to solution.
A user manually sharing a link to or liking a web page which has opengraph meta tags (including an App ID) is not the same as posting the content from the app - are you definitely posting the links using the app?
You must post via the API to get the post attributed to your app, regardless of which app is specified on the page's meta tag (which is done primarily for insights and administration purposes)

Facebook graph API: feeds missing in json response

I try to fetch user's feeds via graph api from my Android application. It generally works but some feeds that I can see on the wall are missing in the json response.
I call the url http://graph.facebook.com/someUserId/feed, by using the Android Facebook SDK methods, so the access token should be provided automatically, but it's not really relevant I think in my case. Nevertheless fyi, the user of my app is authenticated via OAuth.
I already checked the following:
all the user's feeds are visible to everyone / public (set in privacy settings)
the json response is not cached by my browser
I am aware of paging, but this is not an issue. The problem is not that I am not getting the very oldest feeds but that some feeds are just missing in between.
I registered a new facebook user which is not connected to the user I want to retrieve the wall feeds from, and when I open the respective wall I see all the feeds there, as expected, since they're all public to everyone. Yet, when I open the same related json url unter http://graph.facebook.com/someUserId/feed, some feeds are missing.
This is an example of the problem - since all my posts are public, I can just call the json url directly in a browser to do a test.
I want to get wall feeds from user:
http://www.facebook.com/mathias.lin
Screenshot1: note the 3 marked postings, all posted by myself
and here the json response, as you can see, the 1st and 3rd wall posts are included in the json, but the 2nd post is not. Why?
The related json url is:
http://graph.facebook.com/mathias.lin/feed
I am getting the 'missing' feed when I add an access_token to the url - but why? The posted feed has a privacy setting for 'everyone'?!
This is the missing feed that I get when using the access_token:
{"id":"504063796_485195138796","from":{"name":"Mathias Lin","id":"504063796"},"message":"Photo test upload from Android","picture":"http:\/\/photos-e.ak.fbcdn.net\/hphotos-ak-snc6\/hs021.snc6\/165194_485195123796_504063796_6062399_1841907_s.jpg","link":"http:\/\/www.facebook.com\/photo.php?fbid=485195123796&set=a.485195118796.256450.504063796","name":"Torres Photos","icon":"http:\/\/static.ak.fbcdn.net\/rsrc.php\/yz\/r\/StEh3RhPvjk.gif","actions":[{"name":"Comment","link":"http:\/\/www.facebook.com\/504063796\/posts\/485195138796"},{"name":"Like","link":"http:\/\/www.facebook.com\/504063796\/posts\/485195138796"}],"privacy":{"description":"Everyone","value":"EVERYONE"},"type":"photo","created_time":"2011-01-06T05:10:43+0000","updated_time":"2011-01-06T09:00:23+0000","likes":6,"comments":{"data":[{"id":"504063796_485195138796_3607414","from":{"name":"Mathias Lin","id":"504063796"},"message":"Awesome, photo upload now works as well. Not so much fun working with the Facebook SDK for Android, would have expected more functionality beyond that just very very simple graph api wrapper. But need to be considered that the android sdk development was part of an internship - but since it's it's open source, it can luckily be modified. Which has to be done due to some bugs (mixing up the bundle parameters for a post, getString, getByteArray). Api documentation could be improved.","created_time":"2011-01-06T05:26:04+0000"},{"id":"504063796_485195138796_3608020","from":{"name":"Renate Hermanns","id":"628810487"},"message":"Wow
, how fast time passes by. Your daughter is nearly grown up ;-).","created_time":"2011-01-06T09:00:23+0000"}],"count":2},"attribution":"Torres"}
I've already posted the question to the FB dev forum, awaiting response.
Related threads:
http://forum.developers.facebook.net/viewtopic.php?id=81365
http://forum.developers.facebook.net/viewtopic.php?id=75984
Facebook Graph API "/userid/feed" returning Blank
Your approach is correct, I've seen the JSON and yes it's missing the second one, I think it's upload app form adroid, try checking the application settings for this app. Or If your trying to retrieve the wall FQL is a much better way
SELECT post_id, actor_id, target_id, message FROM stream WHERE source_id in (SELECT target_id FROM connection WHERE source_id=<uid> AND is_following=1) AND is_hidden = 0
I've been through this, the way Facebook is categorizing their permissions is somehow misleading, for example Publicly available may sounds like Available to everyone on Facebook but apperantly it's not.
Now in your case, if you already authenticated the user, then try using:
/me/feed
I guess this is the only case where access_token is not needed in the URL.
I had a similar problem. But for me, the problem was related to not setting the scope properly on first login (to authorize the app). I posted a similar question and got an answer that worked for me here:
Facebook API how to get all wall items