Я хочу отправить запрос POST на страницу facebook.com.api.graphql и получить ответ с данными о событиях. Мне удалось отправить POST-запрос на https://www.facebook.com/api/graphql с помощью Почтальона и следующих ключей и значений в форме данных тела:
KEY : VALUE
переменные: {"pageID": "209194109147358", "count": 10}
doc_id: 2455863461165494
Ответ:
{
"data": {
"page": {
"upcoming_events": {
"edges": [
{
"is_hidden_on_profile_calendar": false,
"is_added_to_profile_calendar": false,
"node": {
"id": "2416302635352362",
"startTimestampForDisplay": 1589817600,
"time_range": {
"start": "2020-05-18T09:00:00-0700"
},
"timezone": "America/Los_Angeles",
"happensOnSingleDay": false,
"childEvents": {
"count": 0
},
"is_event_draft": false,
"scheduled_publish_timestamp": 0,
"shortTimeLabel": "18. maj - 22. maj",
"shortDateLabel": "Man. 18. maj",
"suggested_event_context_sentence": {
"text": "15 g\u00e6ster"
},
"event_place": {
"__typename": "FreeformPlace",
"contextual_name": "Minneapolis Convention Center",
"id": "2700549666678444"
},
"is_canceled": false,
"imported_source_name": null,
"preassigned_discount_note": null,
"name": "DrupalCon Minneapolis",
"has_child_events": false,
"event_buy_ticket_url": null,
"can_viewer_purchase_onsite_tickets": false,
"event_viewer_capability": {
"is_viewer_admin_no_business_permissions": false,
"can_viewer_edit": false,
"can_viewer_share": false,
"can_viewer_create_repeat_event": false,
"canViewerWatch": false
},
"tickets_type": "ONSITE_TICKET",
"canViewerJoin": false,
"isPast": false,
"connectionStyle": "INTERESTED",
"eventID": "2416302635352362",
"watchStatus": "UNWATCHED",
"canJoin": false,
"__typename": "Event"
},
"cursor": "AQHR-CDTanvfocAXPrNpthiQPd38IxkmIM-X8dsCgvNaS-5GgVPPY1r4B2-G4i64oqoR5V7uQ__B-uZKHzTyd8g5wg"
}
],
"page_info": {
"has_next_page": false,
"end_cursor": "AQHRGvYb3Bp1vBnmF4aHTUuT-FsPomUGSber11DP0LlfpANZ4-hclA6lhKINQ6Av31TbDFGi0YWTQSsiU4Clvggu8A"
}
},
"id": "209194109147358",
"viewer_profile_permissions": [
],
"admin_info": null
}
},
"extensions": {
"is_final": true,
"dtsg_token": null
}
}
Я предпочитаю работать с собранными данными в R, и поэтому хотел бы отправить запрос POST, используя httr: POST () вместо Postman. Моя попытка до сих пор:
url <- "https://www.facebook.com/api/graphql"
params <- list()
params$variables <- '[{"page_id":"209194109147358", "count":"10"}]'
params$doc_id <- "2455863461165494"
r <- httr::POST(url,body = params, encode = "json")
r
Дает мне следующий ответ (усеченный)
Response [https://www.facebook.com/unsupportedbrowser]
Date: 2020-02-10 14:31
Status: 200
Content-Type: text/html; charset="utf-8"
Size: 58.4 kB
<!DOCTYPE html>
<html lang="da" id="facebook" class="no_js">
<head><meta charset="utf-8" /><meta name="referrer" content="default" id="meta_referrer" /><script>window._cstart=+new Date();</script><sc...
<link type="text/css" rel="stylesheet" href="https://static.xx.fbcdn.net/rsrc.php/v3/ym/l/0,cross/h4AfnhSpX0c.css?_nc_x=Ij3Wp8lg5Kz" data-...
<link type="text/css" rel="stylesheet" href="https://static.xx.fbcdn.net/rsrc.php/v3/yw/l/0,cross/6oJnmlkR2c_.css?_nc_x=Ij3Wp8lg5Kz" data-...
<link type="text/css" rel="stylesheet" href="https://static.xx.fbcdn.net/rsrc.php/v3/yD/l/0,cross/tI6W6dcWoG6.css?_nc_x=Ij3Wp8lg5Kz" data-...
<script src="https://static.xx.fbcdn.net/rsrc.php/v3/y8/r/6HlB7NWcMJY.js?_nc_x=Ij3Wp8lg5Kz" data-bootloader-hash="J598A"></script>
<script>requireLazy(["gkx"],function(gkx){gkx.add({"676837":{"result":false,"hash":"AT6VREokr3BzfdNj"},"676940":{"result":false,"hash":"AT...
<script>requireLazy(["Bootloader"],function(Bootloader){Bootloader.setResourceMap({"02wPs":{"type":"js","src":"https:\/\/static.xx.fbcdn.n...
<script>requireLazy(["InitialJSLoader"], function(InitialJSLoader) {InitialJSLoader.loadOnDOMContentReady(["SkivO","Gld+B","02wPs","MzCre"...
...
Ответ от в R / httr не совпадает с тем, что я получаю от Почтальона. Неправильно ли я настроил параметры или есть какая-то другая причина, по которой он работает в Postman, но не в R?
Любая помощь очень ценится.