Google Cloud Natural Language API错误:google.auth.exceptions.DefaultCredentialsError:无法自动确定凭据

时间:2018-06-06 10:11:54

标签: python google-cloud-platform google-natural-language

我使用了来自此link的Google Cloud的自然语言API:

我在powershell中使用此命令:

  

$ ENV:GOOGLE_APPLICATION_CREDENTIALS = “d:\ analyze_sentiment \ MyFirstProject-bbe4f7bccb98.json”

enter image description here

然后我在cmd中使用此命令:

  

组   GOOGLE_APPLICATION_CREDENTIALS = d:\ analyze_sentiment \ MyFirstProject-bbe4f7bccb98.json

enter image description here

但是当我使用python代码时:

from google.cloud import language
from google.cloud.language import enums
from google.cloud.language import types

# Instantiates a client
client = language.LanguageServiceClient()
# The text to analyze
text = u'Hello, world!'
document = types.Document(
    content=text,
    type=enums.Document.Type.PLAIN_TEXT)
# Detects the sentiment of the text
sentiment = client.analyze_sentiment(document=document).document_sentiment
print('Text: {}'.format(text))
print('Sentiment: {}, {}'.format(sentiment.score, sentiment.magnitude))

错误消息说:

  

引发例外.DefaultCredentialsError(_HELP_MESSAGE)   google.auth.exceptions.DefaultCredentialsError:无法   自动确定凭据。请设置   GOOGLE_APPLICATION_CREDENTIALS或明确创建凭据和   重新运行该应用程序。有关详细信息,请参阅   https://developers.google.com/accounts/docs/application-default-credentials

为什么吗

2 个答案:

答案 0 :(得分:0)

我认为您还必须在本地计算机中设置GOOGLE_APPLICATION_CREDENTIALS。下载Google Cloud Shell并在其中设置凭据

答案 1 :(得分:0)

我知道错误原因,我必须使用cmd模式运行代码,请不要使用pycharm或其他IDE运行代码。并设置此link API“启用”。

然后错误就消失了。