Extracting public data from Facebook in a legal way
I want to make an application that needs to collect some public data from facebook.
Specifically I need to check reactions and comments made on public posts.
I've noticed two things:
First, According to https://www.facebook.com/apps/site_scraping_tos_terms.php,
scraping is not allowed unless facebook gives you a written permission. (of which how do I ask for permission anyway?)
Second, as far as I see the graph api doesn't allow to get information regarding posts made by another user/page. Am I wrong?
How do I get the information I need in a legal way and is it even possible?
facebook web-crawler screen-scraping
add a comment |
I want to make an application that needs to collect some public data from facebook.
Specifically I need to check reactions and comments made on public posts.
I've noticed two things:
First, According to https://www.facebook.com/apps/site_scraping_tos_terms.php,
scraping is not allowed unless facebook gives you a written permission. (of which how do I ask for permission anyway?)
Second, as far as I see the graph api doesn't allow to get information regarding posts made by another user/page. Am I wrong?
How do I get the information I need in a legal way and is it even possible?
facebook web-crawler screen-scraping
you can get information about other pages, you just have to go through a review process, that´s all.
– luschn
Nov 22 '18 at 23:55
add a comment |
I want to make an application that needs to collect some public data from facebook.
Specifically I need to check reactions and comments made on public posts.
I've noticed two things:
First, According to https://www.facebook.com/apps/site_scraping_tos_terms.php,
scraping is not allowed unless facebook gives you a written permission. (of which how do I ask for permission anyway?)
Second, as far as I see the graph api doesn't allow to get information regarding posts made by another user/page. Am I wrong?
How do I get the information I need in a legal way and is it even possible?
facebook web-crawler screen-scraping
I want to make an application that needs to collect some public data from facebook.
Specifically I need to check reactions and comments made on public posts.
I've noticed two things:
First, According to https://www.facebook.com/apps/site_scraping_tos_terms.php,
scraping is not allowed unless facebook gives you a written permission. (of which how do I ask for permission anyway?)
Second, as far as I see the graph api doesn't allow to get information regarding posts made by another user/page. Am I wrong?
How do I get the information I need in a legal way and is it even possible?
facebook web-crawler screen-scraping
facebook web-crawler screen-scraping
asked Nov 22 '18 at 22:08
dizzyjoedizzyjoe
11
11
you can get information about other pages, you just have to go through a review process, that´s all.
– luschn
Nov 22 '18 at 23:55
add a comment |
you can get information about other pages, you just have to go through a review process, that´s all.
– luschn
Nov 22 '18 at 23:55
you can get information about other pages, you just have to go through a review process, that´s all.
– luschn
Nov 22 '18 at 23:55
you can get information about other pages, you just have to go through a review process, that´s all.
– luschn
Nov 22 '18 at 23:55
add a comment |
1 Answer
1
active
oldest
votes
To get public posts in a page and reactions and comments on these posts your app will need will need Page Public Content Access permission. If you have not already created the app, you can find how to do this in this link and how to review your app for permissions in this link.
Once you have the permission you can get public posts from a page using below API request:
https://graph.facebook.com/<PAGE_ID>/posts?access_token=<ACCESS_TOKEN>&fields=name
Get the id of posts you need details for from the response of the above request
Then you can use the below request's to get reactions and comments of the post based on the post id
Get total reactions:
https://graph.facebook.com/<POST_ID>?fields=reactions.summary(true)&access_token=<ACCESS_TOKEN>
Get total reactions of a specific type (NONE, LIKE, LOVE, WOW, HAHA, SAD, ANGRY, THANKFUL, PRIDE):
https://graph.facebook.com/<POST_ID>?fields=reactions.summary(true).type(<REACTION_TYPE>)&access_token=<ACCESS_TOKEN>
Get comments:
https://graph.facebook.com/<POST_ID>?access_token=<ACCESS_TOKEN>&fields=comments.summary(true).limit(999).filter(stream).fields(id,message,created_time,parent)
And as for public posts by a user you will be able to get the total reactions with the same request by providing the post id if the post is public, but you cannot get the comments, however you will get the comments count
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53438492%2fextracting-public-data-from-facebook-in-a-legal-way%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
To get public posts in a page and reactions and comments on these posts your app will need will need Page Public Content Access permission. If you have not already created the app, you can find how to do this in this link and how to review your app for permissions in this link.
Once you have the permission you can get public posts from a page using below API request:
https://graph.facebook.com/<PAGE_ID>/posts?access_token=<ACCESS_TOKEN>&fields=name
Get the id of posts you need details for from the response of the above request
Then you can use the below request's to get reactions and comments of the post based on the post id
Get total reactions:
https://graph.facebook.com/<POST_ID>?fields=reactions.summary(true)&access_token=<ACCESS_TOKEN>
Get total reactions of a specific type (NONE, LIKE, LOVE, WOW, HAHA, SAD, ANGRY, THANKFUL, PRIDE):
https://graph.facebook.com/<POST_ID>?fields=reactions.summary(true).type(<REACTION_TYPE>)&access_token=<ACCESS_TOKEN>
Get comments:
https://graph.facebook.com/<POST_ID>?access_token=<ACCESS_TOKEN>&fields=comments.summary(true).limit(999).filter(stream).fields(id,message,created_time,parent)
And as for public posts by a user you will be able to get the total reactions with the same request by providing the post id if the post is public, but you cannot get the comments, however you will get the comments count
add a comment |
To get public posts in a page and reactions and comments on these posts your app will need will need Page Public Content Access permission. If you have not already created the app, you can find how to do this in this link and how to review your app for permissions in this link.
Once you have the permission you can get public posts from a page using below API request:
https://graph.facebook.com/<PAGE_ID>/posts?access_token=<ACCESS_TOKEN>&fields=name
Get the id of posts you need details for from the response of the above request
Then you can use the below request's to get reactions and comments of the post based on the post id
Get total reactions:
https://graph.facebook.com/<POST_ID>?fields=reactions.summary(true)&access_token=<ACCESS_TOKEN>
Get total reactions of a specific type (NONE, LIKE, LOVE, WOW, HAHA, SAD, ANGRY, THANKFUL, PRIDE):
https://graph.facebook.com/<POST_ID>?fields=reactions.summary(true).type(<REACTION_TYPE>)&access_token=<ACCESS_TOKEN>
Get comments:
https://graph.facebook.com/<POST_ID>?access_token=<ACCESS_TOKEN>&fields=comments.summary(true).limit(999).filter(stream).fields(id,message,created_time,parent)
And as for public posts by a user you will be able to get the total reactions with the same request by providing the post id if the post is public, but you cannot get the comments, however you will get the comments count
add a comment |
To get public posts in a page and reactions and comments on these posts your app will need will need Page Public Content Access permission. If you have not already created the app, you can find how to do this in this link and how to review your app for permissions in this link.
Once you have the permission you can get public posts from a page using below API request:
https://graph.facebook.com/<PAGE_ID>/posts?access_token=<ACCESS_TOKEN>&fields=name
Get the id of posts you need details for from the response of the above request
Then you can use the below request's to get reactions and comments of the post based on the post id
Get total reactions:
https://graph.facebook.com/<POST_ID>?fields=reactions.summary(true)&access_token=<ACCESS_TOKEN>
Get total reactions of a specific type (NONE, LIKE, LOVE, WOW, HAHA, SAD, ANGRY, THANKFUL, PRIDE):
https://graph.facebook.com/<POST_ID>?fields=reactions.summary(true).type(<REACTION_TYPE>)&access_token=<ACCESS_TOKEN>
Get comments:
https://graph.facebook.com/<POST_ID>?access_token=<ACCESS_TOKEN>&fields=comments.summary(true).limit(999).filter(stream).fields(id,message,created_time,parent)
And as for public posts by a user you will be able to get the total reactions with the same request by providing the post id if the post is public, but you cannot get the comments, however you will get the comments count
To get public posts in a page and reactions and comments on these posts your app will need will need Page Public Content Access permission. If you have not already created the app, you can find how to do this in this link and how to review your app for permissions in this link.
Once you have the permission you can get public posts from a page using below API request:
https://graph.facebook.com/<PAGE_ID>/posts?access_token=<ACCESS_TOKEN>&fields=name
Get the id of posts you need details for from the response of the above request
Then you can use the below request's to get reactions and comments of the post based on the post id
Get total reactions:
https://graph.facebook.com/<POST_ID>?fields=reactions.summary(true)&access_token=<ACCESS_TOKEN>
Get total reactions of a specific type (NONE, LIKE, LOVE, WOW, HAHA, SAD, ANGRY, THANKFUL, PRIDE):
https://graph.facebook.com/<POST_ID>?fields=reactions.summary(true).type(<REACTION_TYPE>)&access_token=<ACCESS_TOKEN>
Get comments:
https://graph.facebook.com/<POST_ID>?access_token=<ACCESS_TOKEN>&fields=comments.summary(true).limit(999).filter(stream).fields(id,message,created_time,parent)
And as for public posts by a user you will be able to get the total reactions with the same request by providing the post id if the post is public, but you cannot get the comments, however you will get the comments count
answered Nov 23 '18 at 5:30
ThanthuThanthu
653318
653318
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53438492%2fextracting-public-data-from-facebook-in-a-legal-way%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
you can get information about other pages, you just have to go through a review process, that´s all.
– luschn
Nov 22 '18 at 23:55