|
@@ -12,9 +12,9 @@ BASE_URL = 'https://graph.facebook.com'
|
|
RECOMMENDATION_STR2NUM = {'negative': False, 'positive': True}
|
|
RECOMMENDATION_STR2NUM = {'negative': False, 'positive': True}
|
|
|
|
|
|
|
|
|
|
-def get_page_reviews(page_id):
|
|
|
|
|
|
+def get_page_reviews(page_id, n_reviews):
|
|
token = FacebookPage.objects.get(id=page_id).token
|
|
token = FacebookPage.objects.get(id=page_id).token
|
|
- url = f'{BASE_URL}/{page_id}/ratings?fields=open_graph_story&limit=25&access_token={token}'
|
|
|
|
|
|
+ url = f'{BASE_URL}/{page_id}/ratings?fields=open_graph_story&limit={n_reviews}&access_token={token}'
|
|
response = requests.get(url).json()
|
|
response = requests.get(url).json()
|
|
|
|
|
|
# ratings has one field ['data'] which contain all reviews
|
|
# ratings has one field ['data'] which contain all reviews
|
|
@@ -56,8 +56,8 @@ def store_review_reply(review_id, page_id):
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
-def store_reviews_into_db(page_id):
|
|
|
|
- reviews = get_page_reviews(page_id=page_id)
|
|
|
|
|
|
+def store_reviews_into_db(page_id, n_reviews=25):
|
|
|
|
+ reviews = get_page_reviews(page_id=page_id, n_reviews=n_reviews)
|
|
for review in reviews:
|
|
for review in reviews:
|
|
graph_story = review.get('open_graph_story')
|
|
graph_story = review.get('open_graph_story')
|
|
'''
|
|
'''
|
|
@@ -69,13 +69,6 @@ def store_reviews_into_db(page_id):
|
|
start_time = graph_story.get('start_time')
|
|
start_time = graph_story.get('start_time')
|
|
recommendation_type = RECOMMENDATION_STR2NUM[graph_story.get('data')['recommendation_type']]
|
|
recommendation_type = RECOMMENDATION_STR2NUM[graph_story.get('data')['recommendation_type']]
|
|
|
|
|
|
- # review, created = FacebookReview.objects.update_or_create(
|
|
|
|
- # id=review_id,
|
|
|
|
- # recommendation_type=recommendation_type,
|
|
|
|
- # review_text=message,
|
|
|
|
- # create_time=start_time,
|
|
|
|
- # page_id=page_id
|
|
|
|
- # )
|
|
|
|
try:
|
|
try:
|
|
review = FacebookReview.objects.get(id=review_id)
|
|
review = FacebookReview.objects.get(id=review_id)
|
|
review.recommendation_type = recommendation_type
|
|
review.recommendation_type = recommendation_type
|
|
@@ -101,7 +94,7 @@ def store_reviews_into_db(page_id):
|
|
def populate_facebook_reviews():
|
|
def populate_facebook_reviews():
|
|
page_ids = FacebookPage.objects.values('id')
|
|
page_ids = FacebookPage.objects.values('id')
|
|
for page_id in page_ids:
|
|
for page_id in page_ids:
|
|
- store_reviews_into_db(page_id=page_id.get('id'))
|
|
|
|
|
|
+ store_reviews_into_db(page_id=page_id.get('id'), n_reviews=15)
|
|
|
|
|
|
|
|
|
|
def reply2facebook_review(review_id, reply, like=False, love=False):
|
|
def reply2facebook_review(review_id, reply, like=False, love=False):
|