Disqus API: How to get recent upvotes across all posts? - api

I am the founder of an educational site + app that uses Disqus for commenting.
Recently we have had a spate of spammers upvoting random posts. The upvote causes an email to be generated to the author of the original post, and the upvoter's name is also visible when you hover over the number of votes. The upvoter's display name is usually something like "(Heart) See Bio (Heart)" and the bio contains a link to a porn site, etc. Sometimes the display name is more explicit.
Since the spammer is not actually leaving comments but simply voting on existing comments, the existing spam countermeasures do not catch this. If the spammer votes on a recent post, a moderator might notice, but if they vote on an old post, it would probably go undetected (except to the victim who receives an email notification, and any users who happen to view the upvoter list).
Is there any way to see a list of all recent upvotes, across all posts on a forum, so that we can manually moderate? I've looked through the methods in the Disqus API, but I don't see anything. Any pointers would be greatly appreciated.

Related

What is the permalink to a blog post on Shopify?

Given a product id (PRODUCTID), the permalink to the published product page on Shopify is https://SHOP.myshopify.com/products/ID.
For a blog post, there are two ids, id of the blog post, and id of the blog. How do I get the permalink to the blog post?
I tried https://SHOP.myshopify.com/articles/BLOGPOSTID, but it did not work.
Not sure what you mean by permalink. When you access a product, if you were going to want a longer term solid reference to it, I think the handle serves as a better "permalink" than ID. Handle is used for search engines, and the site map. ID's are more for an administrative view of things, and note that an ID can change if you were to accidentally delete the product and recreate it. Happens all the time I bet. But the handle, that stays.
As for referencing blog articles, yes. They remain a bit tougher than products, since they do have that extra reference ID in the path. The reference of blogs/name_of_the_blog/ID_article_handle is awkward for sure. Why Shopify still keeps the article ID in there is due to some really longstanding old code no one has to see real reason to fix.
It used to be a lot of pseudo-seo-smart people dissed the whole Shopify URL scheme as unworkable for SEO, but I think in the end, they were proven to be a hefty lot of nothing to see here, move along.

How Facebook organize posts in news feed page

I have always wondered how Facebook organize posts in news feed page. Facebook doesn't use date and time to organize posts in news feed page. This is obvious when some posts acquire many likes or comments. These posts, in spite they may be older posts, will be displayed first.
let's suppose a simple database table for posts :
Post_Id
Post_Owner_Id
Post_Text
Post_Image
Post_Date
So what field (or fields) that must be added to organize posts like the one in Facebook ?
The algorithm for how Facebook sorts the newsfeed isn't public from what I've heard, but what the algorithm looks for isn't completely.
Have a look at these articles for a slight idea on what they do and why.
Bufferapp - Decoding the Facebook newsfeed
Forbes - Facebook Changes News Feed Algorithm To Prioritize Content From Friends Over Pages
Everything You Need To Know About Facebook’s News Feed Algorithm
So if you are wanting to recreate their algorithm, you could get a very rough imitation by sorting based on date rounded to the closest week, second by the type of post it is (message, page, etc) then perhaps the number of likes it got.
Which means you would need number of likes and the Post_Type attributes.
You would also need to have it sort them based on friend status (direct or friends-of-friends) and whether or not the post comes from someone verified such as a celebrity.
There is so much to it.

What does Disqus API 'reputation' score mean?

On the Disqus moderation page, you can see each commenter's reputation badge: High Rep, Low Rep, Average, and undefined. If you request the comment data using the Disqus API, it returns a reputation number "reputation":1.233156 instead of the default badges.
What does this reputation number mean? And how does this score translate to badges? Also, how is the score calculated?
(Reference)
Was wondering the same thing, from an API query I saw:
'rep': 3.3011290000000004,
'reputation': 3.3011290000000004,
'reputationLabel': 'High'
On the definitions page it confirms that rep and reputation are the same thing (obvious..)
Here are the descriptions of what it is on the Disqus site.
I looked around, they don't seem to reveal their exact formula for calculating the score but you can guess the nature of it from what it says there: everyone starts at 'average', lots of activity and up-votes makes it 'high' and deleted by moderator, marked as spam, flagged by other users makes it low.
Badges does not seem to be adequately defined anywhere not totally sure what it is but it is possibly something assigned by the moderators or users themselves rather than calculated by the system, the small icons in the usernames here for example.

Storing Blog Comments/Upvotes - Tracking Users?

I am working on a blog-type website in ASP .net MVC3. I am trying to figure out how I will deal with post upvotes/downvotes(I will have to know what users have already voted where to prevent spam voting). Comments on a blog post is another issue.
My thoughts so far(I am sure they are pretty far off the mark):
Votes:
Store a list of UserIDs in a voted field of my Blog table.
For each user in my Users table, store a list of all PostIDs they have voted on.
Comments:
Make a separate Comments table and in that table have a field referencing the parent blog post.
Store a list of CommentIDs in a Comment field in my Blogs table.
I know there are several other ways to go about this but I am trying to set this up so that I won't have to rewrite the whole thing should I get an influx of users.
You might wanna consider creating a Votes table like
User|Post|Type?
john|43 |Up
mary|43 |Down
making User + Post a composite primary key, and thus indexing by both... Then you can easily check if a user has already voted for a post or not... You can also create additional indexes by user or post if needed...
I'd also be a good idea then to have the "Current Ups and Current Downs" in the blogs table, so you don't have to count them each time...

/me/home doesn't return all the posts

I've noticed that me/home in the Graph API doesn't return posts by certain users. I've tried this in my app as well as just using Graph Explorer. It returns most posts, consistently fails to include posts by certain friends. I don't think this is a caching issue, because I've tried over a period of one day with same results. It's not random either. It's the same handful of posts that are always missing.
I checked the posts in question and don't see anything special. And it's happening with newer posts also.
Do I need to add any special parameters to my request ?
Users, in their Facebook privacy preferences, can configure what data 3rd party applications can see about themselves.
What you are seeing is that certain users have made their activities not viewable to your application.