Итак, я сделал пару почтовых запросов API FB, и они отлично работают, один из POST на самом деле выплевывает в консоли идентификатор пользователя, которого я должен пройти если я хочу получить дополнительную информацию о профиле в случае, если я захочу его повторно использовать, чтобы разместить его где-нибудь еще в другом API.GET-запрос к API-интерфейсу fb не работает
Итак, идея состоит в том, чтобы заставить профиль пользователя повторно использовать его.
После документации: HERE
Это все хорошо, когда делается вручную, потому что я получаю информацию, что мне нужно, выполнив:
curl -X GET "https://graph.facebook.com/v2.6/<USER_ID>?fields=first_name,last_name,profile_pic,locale,timezone,gender&access_token=PAGE_ACCESS_TOKEN"
Однако, если вы будете делать в моем коде:
function getUserProfile (sender) {
request({
method : "GET",
uri : "https://graph.facebook.com/v2.6/" + sender + "?",
qs : {
fields:"first_name,last_name,profile_pic,locale,timezone,gender",
access_token : FB_PAGE_ACCESS_TOKEN
},
json : true
}
);
}
console.log('fb user GET Request: ', request);
Я получаю жалобу о том, что ури не передается правильно, и я не получаю ничего печатного в co nsole:
Вот лог:
> node app.js
fb user GET Request: function request(uri, options, callback) {
if (typeof uri === 'undefined') {
throw new Error('undefined is not a valid uri or options object.')
}
var params = initParams(uri, options, callback)
if (params.method === 'HEAD' && paramsHaveRequestBody(params)) {
throw new Error('HTTP HEAD requests MUST NOT include a request body.')
}
return new request.Request(params)
}
Что мне не хватает? Любые указатели были бы замечательными.
Edit:
Я нашел SO опубликовать HERE и попытался Приведенное решение, но журнал все еще невидимы.
Я использую heroku как сервер, но я не вижу никаких объектов из запроса GET в журналах. Я должен уметь видеть, что я получаю, от console.log?
Таков требует сделано:
const async = require("async");
const uuid = require("node-uuid");
const request = require('request');
const apiai = require('apiai');
const express = require('express');
const bodyParser = require('body-parser');
const JSONbig = require('json-bigint');
Пожалуйста, вы можете уточнить существо ясно, по просьбе? Я пытаюсь получить имя пользователя и фамилию и отправить в другое приложение, но ответ не доступен, или если я не вижу его в своих журналах. – Tmute
Я понял из вашего вопроса, что вы получаете неопределенный при попытке сделать HTTP-запрос API facebook. Я не был уверен, какой клиент http вы используете для выполнения этих запросов? FB sdk для узла? некоторые другие клиентские библиотеки http. Соответственно изменится конкретный код. Я предложил здесь использовать что-то вроде: https://docs.nodejitsu.com/articles/HTTP/clients/how-to-create-a-HTTP-request/ –
Я использовал модуль запроса с узла. Пожалуйста, @santanu см. Редактировать на почте – Tmute