コード例 #1
0
    fetchUrl(values.input, function(error, meta, body){
        console.log('>>>>>>>>>>>>>>>' + meta.finalUrl);
        finalUrl = meta.finalUrl;
        var ind = finalUrl.indexOf('pinterest.com');
        var pieces = finalUrl.substring(ind+13+1).split('/');
        pinterest_user = pieces[0];
        pinterest_board = pieces[1];

        console.log('>>>>> pinterest user: '******'>>>>> pinterest board: ' + pinterest_board);
    
        // var pinterest = pinterestAPI(pinterest_user);
        var pinterest = pinterestAPI('juliana211');
        
        pinterest.getPinsFromBoard('my-dream-house', true, function (pins) {
            for (var i=0; i<pins.data.length; i++){
                console.log(pins.data[i].images['237x'].url);
            }

            messenger.send({text: `Thanks for sharing your Pinterest board. Taking a look...`}, sender);
            setTimeout(function(){
                messenger.send({text: 'Wow, great taste! We found contemporary themes in your Pinterest board. Here are some great listings to check out.'}, sender);
                salesforce.findProperties({Home_Style__c: 'Contemporary'}).then(properties => {
                    messenger.send(formatter.formatProperties(properties), sender);
                });
            }, 2222);
        });
    });
コード例 #2
0
ファイル: app.js プロジェクト: readywater/peddler
	User.findOne({id:req.user.id}, function(err,user) {
		console.log("/items user",user)
		if(err)  {
			console.log("Some kind of error fetching pins",err)
			res.sendStatus(400,err)
		}

		if(user.pin_username == null || user.pin_board == null) {
			res.sendStatus(400,err)	
		} else {
		console.log("Returned user",user)

		var p = pinterest(user.pin_username)
		board = String(user.pin_board).replace("\\&([^;]{6})","")// .replace("\ufeff", "");
		console.log("board",board)
		p.getPinsFromBoard(board, true, function (pins) {
			var keys = []

			for (var v in pins.data) {
				keys.push(pins.data[v].id)
			}

			pinterest.getDataForPins(keys,function(data) {
				
				console.log("FULLDUMP",data)

				// Yeah... rewrite this
				for (var v in data.data) {
					var obj = {}
					var o = data.data[v]
					if(o.rich_metadata == null)  {
						console.log("dropping", o)
						continue
					}

					obj.id = o.id ? o.id : ""
					obj.img = o.images["237x"].url ? o.images["237x"].url : ""
					obj.link = o.link ? o.link : ""

					var price = o.rich_metadata.products[0].offer_summary.price

					// Adjust for the aussies only for now
					var price_adjust = price.split("$")[0] == "A" ? price.split("$")[1] * .75 : price.split("$")[1] 

					obj.price = price_adjust
				
					// console.log(obj)
					items.push(obj)
				}

				res.setHeader('Content-Type', 'application/json');	
		    	res.send(JSON.stringify(items))
			})    	
		});
		}
	})
コード例 #3
0
ファイル: app.js プロジェクト: readywater/peddler
app.get('/user/pin-exist',ensureAuthenticated,function(req,res,next){
	var p = pinterest(req.query.user)
	var b = []
	try { 
		p.getBoards(true, function(boards) {
			for(var v in boards.data) {
				b.push(String(boards.data[v].href).split('/')[2])
			}
			res.setHeader('Content-Type', 'application/json');
	    	res.send(JSON.stringify(b))
		})
	} catch(e) {
		console.log("error in fetching pin exists",e)
		res.setHeader('Content-Type', 'application/json');
    	res.send("No Boards or error")
	}
})
コード例 #4
0
exports.create = function(req, res) {

  if(!req.body.accountName || !req.body.boardName) {
    return res.status(400).send({
      message: 'Account name or board name missing'
    });
  }

  var pinterest = pinterestAPI(req.body.accountName);
  pinterest.setObtainDates(false);

  // default and max is 50
  // pinterest.setItemsPerPage(50);

  pinterest.getPinsFromBoard(req.body.boardName, true, function (pins) {
    async.forEach(pins.data, function (pin, callback){
      // adding some data
      pin._id = pin.id + req.user._id;
      pin.accountName = req.body.accountName;
      pin.boardName = req.body.boardName;
      pin.imageLink = pin.images['237x'].url;

      // replace some special character
      pin.description = pin.description.replace(/&#233;/g, 'é');
      pin.description = pin.description.replace(/&lt;3/g, '♥');
      pin.description = pin.description.replace(/&#160;/g, ' ');

      pin = new Pin(pin);
      pin.user = req.user;

      pin.save(function(err) {
        callback(); // tell async that the iterator has completed
      });
    }, function(err) {
      res.json({});
    });
  });

};
コード例 #5
0
ファイル: app.js プロジェクト: readywater/peddler
    , passport = require('passport')
    , StravaStrategy = require('passport-strava-oauth2').Strategy
    , strava = require('strava-v3')
    , pinterest = require('pinterest-api')
    , mongoose = require('mongoose');

app.use(express.static(__dirname + '/views'));
app.use(express.static(__dirname + '/public'));
app.set('view engine', 'jade');
app.use(morgan('dev'));  
app.use(bodyParser());   
app.use(sessions({ secret: 'shutuplegs' }));
app.use(passport.initialize());
app.use(passport.session());
app.use(methodOverride());                  
var pin = pinterest("readywater");

// Mongoose
var User = require('./model/User.js');
var Claimed = require('./model/Claimed.js')
mongoose.connect(process.env.MONGODB_URI || 'mongodb://localhost/peddler-test');


// STRAVA METHODS (Auth and passport)
passport.serializeUser(function(user, done) {
	console.log("serializeUser")
	console.log(user)
    done(null, user._id);
});

passport.deserializeUser(function(id, done) {