Reputation: 1932
UPDATED.
This code block takes the users facebook connections and saves them into the "fbdata" and within the div "friends-list-container".
Here is the page with the error.
I'm then attempting to save the data to parse.com and have the following error shown the image below.
<!doctype html>
<!-- Runs Parse and FB code that uses Facebook authentication to login
user to the site and redirects them to the main content area. This page is
fired from the Facebook button being clicked on the site landing page-->
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="fresh Gray Bootstrap 3.0 Responsive Theme "/>
<meta name="keywords" content="Template, Theme, web, html5, css3, Bootstrap,Bootstrap 3.0 Responsive Login" />
<meta name="author" content="Adsays"/>
<title>Parse JavaScript Todo App</title>
<script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<script src="scripts/underscore-1.1.6.js"></script>
<script src="http://www.parsecdn.com/js/parse-1.2.13.min.js"></script>
</head>
<body>
<!-- Important, must be on the page -->
<div id="fb-root"></div>
<!-- Initialize the Parse object-->
<script type="text/javascript">
Parse.initialize("79tphN5KrDXdjJnAmehgBHgOjgE2dLGTvEPR9pEJ", "9lblofQNZlypAtveU4i4IzEpaOqtBgMcmuU1AE6Y");
var user = Parse.User.current();
//Fb app information//
window.fbAsyncInit = function() {
Parse.FacebookUtils.init({
appId : '523753101076577',
channelUrl : 'http://www.kudosoo.com/channel.html',
status : true,
cookie : true,
xfbml : true
});
//FB user authentication script, after this completes it fires todos_two.js to redirect user to main content page//
FB.getLoginStatus(function (response) {
if (response.status === 'connected') {
FB.api('/me/friends', function(response){
if (response && response.data){
var contact = new Parse.User();
var fbdata=response.data;
var divTarget=document.getElementById("friends-list-container");
for (var friendIndex=0; friendIndex<fbdata.length; friendIndex++)
{ var divContainer = document.createElement("div");
divContainer.innerHTML="<b>" + fbdata[friendIndex].name + "</b>";
divTarget.appendChild(divContainer);
}
var contact = new Parse.User();
var contact = new Contact();
$(document).ready(function () {
var username = $("#friends-list-container").val();
contact.set("facebookFriends", fbdata.toString());
contact.save(null, {
success: function (results) {
// The object was saved successfully.
location.reload();
},
error: function (contact, error) {
// The save failed.
// error is a Parse.Error with an error code and description.
alert("Error: " + error.code + " " + error.message);
}
});
});
} else {
console.log('Something goes wrong', response);
}
});
}
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div id="friends-list-container"></div>
</body>
</html>
Here is the error.
Upvotes: 1
Views: 322
Reputation: 9942
Try replacing this line:
var contact = Parse.Object.extend("_User");
Updated from the chat conversation, this is what solved the problem:
If you want to store the friends list in an array on the current user, then Parse.User.current() is what you want:
var contact = Parse.User.current()
Upvotes: 1