Разница в выводе при использовании терминала curl, POST (в R) и tests.post (в Python) - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь получить данные с веб-сайта (используя API), используя R. Я получил данные с помощью httr / POST и провел некоторый анализ.Недавно я обнаружил, что R не предоставляет мне никаких данных для некоторых конкретных параметров, но для тех же параметров с использованием терминала curl и Python / POST у меня были некоторые данные (которые совпадают).Мне интересно, что мне не хватает в случае R. Пожалуйста, посмотрите ниже, что я использую (где myurl - секретный адрес API).Заранее спасибо за помощь.

В терминале:

Это определено в руководстве по API, и я написал его соответствующим образом.

curl myurl -d "timeMin= 965192400000" -d "timeMax=1533186000000"  -d studentId=117

Тот же результат, если я использовал

curl -X POST myurl  -d timeMin=965192400000 -d timeMax=1533186000000 -d studentId=117

или

curl -X POST myurl  -d timeMin=965192400000 -d timeMax=1533186000000 -d studentId="117"

В R:

res <- POST(myurl, body = list(timeMin = 965192400000, timeMax = 1533186000000, studentId = "117" ),encode = c("form"))

Тогда я использовал res$content, rawToChar и fromJSON

InPython:

res = requests.post(myurl, data=[
  ('timeMin', 965192400000),
  ('timeMax',1533186000000 ),
  ('studentId', 117)])

Затем я использовал json.loads на response.text и сделал его Python dataframe.

...