Thuzi / facebook-node-sdk

Modeled from the (Facebook Javascript SDK), now with the facebook-node-sdk you can now easily write the same code and share between your server (nodejs) and the client (Facebook Javascript SDK).
Other
736 stars 250 forks source link

Getting an error "(#100) Must be a unixtime or a date/time representation parseable by strtotime()" #83

Closed warrenca closed 9 years ago

warrenca commented 9 years ago

Here's my code

var access_token = 'XX';
var myId = 'XX';
var FB = require('fb');
var url = require('url');

FB.setAccessToken(access_token);

function getWallFeeds(feedLink) {

    FB.api(feedLink, function (res) {
        if (!res || res.error) {
            console.log(!res ? 'error occurred' : res.error);
            return;
        }

        processMessage(res.data);

        feedLink = res.paging.next.replace('https://graph.facebook.com/v2.1/','');

        getWallFeeds(feedLink);
    });
}

function processMessage(data) {
        for (i in data) {
        if (data[i].from.id!=myId) {
                name = data[i].from.name;
                message = data[i].message;
                console.log(name+': '+message);
        }
    }
}

feedLink = 'me/feed';

getWallFeeds(feedLink);
warrenca commented 9 years ago

Solved!

The format for get should be

FB.api('me/feed', 'get', {limit:25, access_token:'sample_access_token', until: 'unixtime'}, function (res) {
.....
})
var access_token = 'xxx';
var myId = 'xxx';
var FB = require('fb');
var url = require('url');

FB.setAccessToken(access_token);

function getWallFeeds(feedLink, args) {

    FB.api(feedLink, 'get', args, function (res) {
        if (!res || res.error) {
            console.log(!res ? 'error occurred' : res.error);
            return;
        }

        processMessage(res.data);

        var nextLinkParts = url.parse(res.paging.next, true);

        var args = {
            limit: nextLinkParts.query.limit,
            until: nextLinkParts.query.until,
            access_token: nextLinkParts.query.access_token
        }

        getWallFeeds(feedLink, args);
    });
}

function processMessage(data) {
    for (i in data) {
        if (data[i].from.id!=myId) {
            name = data[i].from.name;
            message = data[i].message;
            console.log(name+': '+message);
        }
    }
}

feedLink = 'me/feed';

getWallFeeds(feedLink, {});