在访问谷歌语音API时,我收到403禁止从服务器

时间:2017-04-25 05:54:50

标签: java android google-api google-api-java-client google-speech-api

据我所知,这个问题大概讨论了4-5次,但没有一个解决方案对我有所帮助。

我创建了谷歌开发者帐户并启用了Google语音API,也注册了项目并生成了API_KEY。我正在使用JARVIS(在Google语音v2上)在我的Java程序中合成和识别语音。

查询URL时,服务器始终以403(禁止)响应。我明白这是说我没有被授权。我甚至启用了计费来解决它,但没有运气。

Server returned HTTP response code: 403 for URL: https://www.google.com/speech-api/v2/recognize?output=json&lang=en-us&key=MY_KEY?client=chromium&output=json&lang=en-US&maxresults=4
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
    at com.darkprograms.speech.recognizer.Recognizer.rawRequest(Recognizer.java:455)
    at com.darkprograms.speech.recognizer.Recognizer.getRecognizedDataForFlac(Recognizer.java:280)
    at com.darkprograms.speech.main.ArtificialIntelligenceErrorDetection.speechToTextLogic(ArtificialIntelligenceErrorDetection.java:80)
    at com.darkprograms.speech.main.ArtificialIntelligenceErrorDetection.listenAlexa(ArtificialIntelligenceErrorDetection.java:43)
    at com.darkprograms.speech.main.VoiceServer$voiceHandler.handle(VoiceServer.java:60)

请注意,我没有使用谷歌生成的项目ID。我认为这里有一些缺失的链接。但是,在这方面要求你明智的想法。

非常感谢。

1 个答案:

答案 0 :(得分:0)

Method: speech.recognize

  

需要以下OAuth范围:

     

https://www.googleapis.com/auth/cloud-platform欲了解更多信息,   请参阅Auth Guide

API密钥用于访问Public apis。您需要创建Oauth2凭据并进行身份验证才能访问此API。

https://www.google.com/speech-api/v2/recognize?output=json&lang=en-us&access_token=accessTokenfromAuth&client=chromium&output=json&lang=en-US&maxresults=4
谷歌有一些可能有帮助的官方样本。 Here