In general how are likes and recommendations usually handled on sites like Reddit, YouTube, and Facebook? - facebook-like

For example when you hit the like / upvote button it affects the future recommendations you receive.
At a high level how do sites determine all of this information?
Every time you hit the like/dislike button does it automatically make a call to the backend and update your recommendations list?
Or does it wait a bit before it does that in case you hit like by accident? What would happen if you just spam and keep liking and unliking a particular video or post?

this is done by many ways:
FaceBook:
1- when you stay reading the post for a long time or hit like, then you are
interested about the content that is offered in this post.maybe in the database there are categories for the data related to posts and offers according to it. also facebook has strong backend which can analyze photos and according to it's data, it may save it in the DB. this is done by image recognition using python. most people also allow facebook accessabilty for apps on their phones, this allows facebook to collect data about your interests. recommendations also based on your FB data, like age, location, friends and other data. when you admire something, the next time you refesh or opens facebook, a call to backend is made and then it returns data according to some cases according to user data and specifications.
Reddit
this mostly depends on text analysis because it is mostly reading posts. and by the same way like facebook it shows data
YouTube
here it maybe a little bit different because here the backend will analyze the videos you watch, channels, and other videos related json data (if you have dealed with yt_dl you will understand me)
you asked about when will the user preferences be updated?. i think this is done when you refresh or open the app again

Related

App not getting data from Graph API anymore & problems filling out for review

Take a breath... it's a very specific question, not directly a bug.
(But I can't get an answer from Facebook, after thousands of FAQ pages I somehow landed in a chat with Facebook Advertisers Support, they told me to come here.)
Description of my app
I have a Facebook Page, on which I'm sharing events from some other Facebook Pages I'm cooperating with. Kind of an event aggregator. The main goal is to help people who are new in town to find all that interesting events and the groups and pages they are organized by.
As you can imagine, it's based on a server-side application, that collects the upcoming events through Graph API and posts on my own Facebook Page the day before the event.
Of course I had to give the server-side application the manage_pages and publish_pages right. This Facebook App will never be used by an end-user, I'm the only user and I'm only posting to my own Facebook Page.
The server-side application worked fine for more than a year.
I just started a Facebook Ad Campaign and poster and flyers are currently being printed. And now...
What broke
You all heard of Cambridge Analytica. Due to these bad guys Facebook is currently changing a lot. One change was this:
As we begin enhancing our new app review process and make changes to our platform, the Events, Groups, Pages and Instagram APIs will no longer be available to new developers. Testing of our more robust process starts today and the new process should resume in a few weeks, but apps currently accessing Events and Groups APIs will lose access today. Going forward, access to these APIs will require a formal app review and for apps using the Pages API, submission is required within 90 days once app review resumes or access will be removed.
(See https://developers.facebook.com/blog/post/2018/04/04/facebook-api-platform-product-changes)
Since nearly two weeks my server-application can't fetch events. Graph API is always returning an empty array data: [].
I have full understanding for this. Now I tried to follow these new requirements and had a look on how to submit my App for review. But that's where my struggles began:
The specific problem
The whole form for applying for review is aimed to Apps for end-users, not server-side bots.
I should provide details on why I'm using manage_pages or publish_pages. Well okay...
When selecting "automated posting" there immediatly a message pops up, telling me, that this is not allowed. Of course it is not - for applications that post in the name of persons without their knowing and aggreement. But my App is posting in the name of my own Facebook Page and I'm the only user and I'm knowing what's going to be posted. So I have to select "Other" and enter a custom description. No problem.
But at the end of the form there's asked for a Screencast! What should I make a movie of? Should I make a slideshow of my code? I can't save this form without that Screencast.
I want to be conform to the new Facebook processes, but I simply don't know how to become approved nor at least fill out for review...
I know this is not a programming question but Facebook directed me here.
So I hope I find a Facebook official or Facebook developer here. Thank you so far!

How to count all likes no matter how many times a post is shared and reshared?

I want to be able to count the total number of likes for a post or photo no matter how many times the post has been shared and reshared.
I want to know how popular a post is across the whole Facebook Universe.
Is this even possible?
This is not fully possible, for these reasons:
Facebook does not indicate via the API whether a post is a re-share
of another post (there is no "via" property on Post objects, in
other words). Nor is there a property that indicates where or how
many times a particular post has been re-shared.
Many posts on Facebook use privacy settings set by the user creating the post, and
this applies to re-shared stories as well. Your app has access to
whatever its users give it permission to read, but that does not
grant it access to the feeds of all users on Facebook.
At most, you could theoretically do this (although I am not sure if there are other limitations in place to prevent this):
Search all PUBLIC posts on Facebook, for text that matches the text in the post you want to track. (see the documentation under "Searching" here: http://developers.facebook.com/docs/reference/api/). Aggregate the Likes for all of these posts. Just understand that this is only the subset of posts that your app is capable of viewing.

Pulling Facebook photos onto an external website

I'm doing a job for Company A. I've just built their website in Django but now they want to add a social photo management aspect to the site (in that other people can upload).
The only way I know of doing this (having done it before) is through Flickr. You can set up a group and have it so anybody can add photos to it. And pull out the latest with RSS. But let's be honest, Facebook is far more popular and my client wants this feature heavily used by his clientèle.
They have a Facebook page and the power to open it up so anybody can add their photos to it... But how can I pull those photos back to the website?
Facebook's query language can do this (like the RSS sends data to you from Flickr) for users of FB pages, and there are some Javascripts for making them viewable and interactive on external web pages.
For example:
http://www.codeofaninja.com/2011/06/display-facebook-photos-to-your-website.html
http://www.alexanderinteractive.com/blog/2012/03/display-facebook-photos-on-your-website-with-galleria/
Good luck!
Terry
I'm not sure if this will help, but I recall that the Flock Web Browser had the capability of loading a stream of new videos/photos on the top of the brower's media stream bar - perhaps you can sneak a peek into the inner workings it uses to accomplish this task.
I know that you can start reading the RSS feed of a Facebook Page itself now, perhaps just a little parsing is all you need: http://www.allfacebook.com/facebook-pages-rss-2010-01

Where can I find twitter messages archive or search old tweets?

Previously Google launched an application that can search twitter message OVER Time like in news timeline. But it seems it now can only provide real time (current) message index, not the old and all tweets in history. I want to do research on tweets, but do not know where to download or access to such data based on timeline or geography or demographic or topic list.
Thank you in advance.
The old tweets are not publicly accessible - even to the people who wrote them.
Perhaps you should contact Twitter. The US Library of Congress apparently is archiving this data too.
You might be able to get access from either of these if it's a legitimate (university based) research activity.
Addition: There have been a few corpora made from Twitter, but they were removed from distribution at Twitter's request. The streaming API makes it pretty easy to build your own corpus in a few hours/days of a pretty decent size, but I don't know of any that are available for distribution. Depending on your application, the International Conference on Social Media and Weblogs has (terabytes of) data available for research, but I don't know if anything from twitter is included.

Facebook integration... Where to start?

I recently put a django project of mine into its beta stages and would really like to integrate more with social media, particularly facebook.
Now there are so many facebook integrations out there... I don't know where to start but, I'll tell you what I am after.
My sites publishes content with photos and also user related data (which site doesn't)
on each individual page I already have a facebook like button that basically has the absolute url of that page
so for instance:
http://my-site.com/url-1
http://my-site.com/url-345345
http://my-site.com/url-456456456
When a user likes this particular url I would like them to become a Fan on my facebook site/page as well.
I also added the FB opengraph tool which is a bit more informative once a user likes it. But it still does not publish any statistics to my page.
Can someone give me a bit of an understanding on what the best option is for this type of integration?
As a security option for the user, Facebook has never allowed third party access to "become a fan."
If you want to record locally when someone presses the "Like" button, you'll have to implement it locally (copy the presentation, and query Facebook yourself), so you can intercept the event. I've done that; it's not too hard.
I suggest you review the Connect Terms of Service to see what it is you're allowed to do: http://developers.facebook.com/policy/