2016-10-02 3 views
0

Google지도 API 및 Meetup.com의 API를 사용하여지도에 이벤트를로드하는 앱이 있습니다. Meetup을위한 API 키는 .zshrc 파일의 맨 아래에 저장되고 내 보내지 만 localhost에서는 잘 작동합니다. 그러나 Heroku에서 앱을 사용하려고 시도하면 API가 500을 반환합니다.API 키는 로컬 호스트에서 작동하지만 Heroku에서는 작동하지 않습니다.

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" 
    } 

감사

여기 내 meetup.js 컨트롤러입니다.

답변

0

수정 됨. Heroku에는 API 키에 할당 된 값이 없었으므로 작업 디렉토리에서 값을

heroku config add:MEETUP_API_KEY="[key value here]" 
관련 문제