Ich bin ein Programmieranfänger und lerne, wie man Google API mit Python verwendet.
Ich habe:
Selbst wenn ich dafür die einfachsten Codes ausgeführt habe, habe ich Fehler, die besagen, dass der Berechtigungsnachweis varialbe nicht gefunden wird.
Ich bin nicht sicher, was ich jetzt tun soll. Bitte hilf mir.
Dies ist mein Code:
from google.cloud import language
def sentiment_text(text):
client = language.LanguageServiceClient()
sentiment = client.analyze_sentiment(text).document_sentiment
print('Score: {}'.format(sentiment.score))
print('Magnitude: {}'.format(sentiment.magnitude))
sampletxt='Python is great'
sentiment_text(sampletxt)
Und ich habe Fehler:
Traceback (letzter Anruf zuletzt): Datei "/Users/YELI1/Downloads/googlecloud/sentimentanalysis/simple.py", Zeile 21, in Sentiment_text (Sampletxt)
Datei "/Users/YELI1/Downloads/googlecloud/sentimentanalysis/simple.py", Zeile 5, in sentiment_text client = language.LanguageServiceClient ()
Datei "/usr/local/lib/python3.6/site-packages/google/cloud/gapic/language/v1/language_service_client.py", Zeile 147 in init ssl_credentials = ssl_credentials)
Datei "/usr/local/lib/python3.6/site-packages/google/gax/grpc.py", Zeile 106 in create_stub
credentials = _grpc_google_auth.get_default_credentials(scopes) File
"/usr/local/lib/python3.6/site-packages/google/gax/_grpc_google_auth.py", Zeile 62 in get_default_credentials Anmeldeinformationen, _ = google.auth.default (Bereiche = Bereiche)
Datei "/usr/local/lib/python3.6/site-packages/google/auth/_default.py", Zeile 282 im Auslieferungszustand
raise exceptions.DefaultCredentialsError(_HELP_MESSAGE) google.auth.exceptions.DefaultCredentialsError: Could not
anmeldeinformationen automatisch ermitteln. Bitte setzen Sie GOOGLE_APPLICATION_CREDENTIALS oder erstellen Sie explizit einen Berechtigungsnachweis und Führen Sie die Anwendung erneut aus. Weitere Informationen finden Sie unter https://developers.google.com/accounts/docs/application-default-credentials .
import os
print(os.environ['GOOGLE_APPLICATION_CREDENTIALS'])
Ausgabe-Traceback (letzter Anruf zuletzt):
File "/Users/YELI1/Downloads/googlecloud/sentimentanalysis/simple.py", line 2, in <module> print(os.environ['GOOGLE_APPLICATION_CREDENTIALS']) File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/os.py", line 669, in getitem raise KeyError(key) from None KeyError: 'GOOGLE_APPLICATION_CREDENTIALS'
Wenn Sie an einem Jupyter-Notebook arbeiten und die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS im Python-Code festlegen möchten:
import os
os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="/path/to/file.json"
Sie können dies auch testen, indem Sie in das Terminal gehen und Folgendes eingeben:
set | grep GOOGLE_APPLICATION_CREDENTIALS
dies zeigt Ihnen die Umgebungsvariable und den Pfad, in dem sie sich befindet. Wenn dies nichts zurückgibt, haben Sie die Variable nicht festgelegt, oder Sie haben den falschen Pfad festgelegt
Ich weiß, dass dieser Beitrag beantwortet wurde, aber das Folgende ist eine saubere Art, den GOOGLE_APPLICATION_CREDENTIALS
client = language.LanguageServiceClient.from_service_account_json("/path/to/file.json")
Es gibt einen einfacheren Weg, um es zum Laufen zu bringen, indem explizit Anmeldeinformationen erwähnt und wie unten gezeigt an den Kunden weitergegeben werden.
import os
from google.oauth2 import service_account
credentials = service_account.Credentials.from_service_account_file("your-json-
file-path-with-filename.json")
client = language.LanguageServiceClient(credentials=credentials)