2015-01-15 58 views
0

我正在開發一個應用程序,它使用來自服務器的Youtube數據API(使用node.js),所以我已經設置了服務器端憑證密鑰,但是當我嘗試獲取數據時總是拒絕我的請求與此消息。Youtube數據API拒絕我的服務器端請求

Access Not Configured. The API is not enabled for your project, or there is a per-IP or per-Referer restriction configured on your API key and the request does not match these restrictions. Please use the Google Developers Console to update your configuration. 

我我的應用程序託管在Heroku上與附加報價衛隊靜,讓我兩個靜態IP,我在谷歌開發者控制檯的憑據部分已列入白名單的。我也有這個應用程序在modulus.io中託管,並且列出了他們爲他們的AWS區域提供的IP範圍54.0.0.0/8 ...這兩個部署中的任何一個都只能在我的本地計算機上工作,並且將我的家庭外部IP列入白名單。

有趣的是,在我將54.0.0.0/8範圍列入白名單後,約15分鐘左右,應用程序API開始在我的Heroku主機中工作,但今天又再次停止(這可能是因爲它已更改爲另一個IP在他們的AWS區域內......)。

有什麼辦法來檢查什麼IP正在對Youtube數據API做請求嗎?我可以在開發人員控制檯中看到達到API的請求並被拒絕爲「錯誤」,至少我知道他們正在獲取請求...

任何想法?

感謝

編輯: 部分解決。請參閱下面的答案。

回答

1

有一個簡單的服務,我發現您返回公網IP:

http://api.ipify.org?format=json

你可以路由添加到您的應用程序,你可以從你的瀏覽器擊中。路由處理程序然後向該服務發出請求並返回結果。然後,您可以定期檢查您的應用的實際公有IP,並相應地調整白名單。

// Example express + request 
app.get('/ip', function(req, res) { 
    request({ uri: 'http://api.ipify.org?format=json' }, function(err, response, body) { 
    res.send(body); 
    }); 
}); 
+0

我們已經在模數中解決了這個問題,應用程序是由joyent服務器而不是amazon aws來部署的。我改變了它,並使用這個IP範圍54.0.0.0/8正常工作。無論如何,感謝您的幫助,我將爲另一場合保存該服務。 – isramartinez 2015-01-15 22:52:33

0

Modulus.io中託管的應用程序的問題現在已解決。該應用程序在Joyent服務器中默認運行,但我將其更改爲Amazon AWS區域,並將IP範圍54.0.0.0/8列入白名單.Google正在接受我對API的所有請求。

儘管如此,在heroku中的應用程序仍然不能正常工作,但正如在一項服務中工作,我將停止在另一項服務中進行調查。

相關問題