2016-10-02 82 views
0

我有一個應用程序使用Google Maps API和Meetup.com的API將事件加載到地圖上。我的Meetup的API密鑰存儲並導出到我的.zshrc文件的底部,並且它在本地主機上正常工作。但是,當我嘗試在Heroku上使用該應用程序時,該API會返回500。在本地主機上工作的API密鑰,但不在Heroku上

這裏是我的meetup.js控制器:

var request = require('request-promise'); 

function getEvents(req, res) { 

    request.get({ 
    url: "https://api.meetup.com/2/open_events", 
    qs: { 
     key: process.env.MEETUP_API_KEY, 
     lat: req.query.lat, 
     lon: req.query.lng, 
     category: req.query.category, 
     radius: req.query.radius || 1, 
     sign: true 
    }, 
    json: true 
    }) 
    .then(function(response) { 
    res.status(200).json(response.results); 
    }) 
    .catch(function(err) { 
    console.log(err); 
    res.status(500).json(err); 
    }) 
} 

function getCategories(req, res) { 

    request.get({ 
    url: "https://api.meetup.com/2/categories", 
    qs: { 
     key: process.env.MEETUP_API_KEY, 
     sign: true 
    }, 
    json: true 
    }) 
    .then(function(response) { 
    res.status(200).json(response.results); 
    }) 
    .catch(function(err) { 
    console.log(err); 
    res.status(500).json(err); 
    }) 
} 

module.exports = { 
    getEvents: getEvents, 
    getCategories: getCategories 
} 

和我的的package.json依賴關係:

"dependencies": { 
    "bcrypt": "^0.8.7", 
    "bluebird": "^3.4.6", 
    "body-parser": "^1.15.2", 
    "cors": "^2.8.1", 
    "express": "^4.14.0", 
    "jsonwebtoken": "^7.1.9", 
    "moment": "^2.15.0", 
    "mongoose": "^4.6.0", 
    "mongoose-beautiful-unique-validation": "^5.0.1", 
    "morgan": "^1.7.0", 
    "request": "^2.74.0", 
    "request-promise": "^4.1.1" 
    } 

感謝。

回答

0

固定。 Heroku沒有爲API密鑰指定值,因此在工作目錄中,值可以分配爲

heroku config add:MEETUP_API_KEY="[key value here]" 
相關問題