Я получаю функцию вместо данных
console.log(response);
Это распечатывает функцию вместо данных ответа, потому что response
- это имя вашей функции, а не имя аргумента, переданного функции. Рассмотрим изменение ниже:
function TestAPI() {
FB.api('/me?fields=id,name,email', function(response) {
if (response && !response.error) {
console.log(response);
buildProfile (response);
}
});
}
TypeError: Невозможно установить свойство 'innerHTML' для null
Это означает, что document.getElementById('profile')
возвращает ноль, возможно, что элемент с таким идентификатором не существует в вашей DOM, но это трудно подтвердить, если вы не предоставите фрагмент кода HTML, который вы пытаетесь изменить. У вас должен быть элемент, который выглядит примерно так:
<div id="profile"></div>