だから、私は正確にgoogle変換APIのドキュメントに従って同じ手順に従います、以下のコードがそれに提供されました。
# Imports the Google Cloud client library
from google.cloud import translate
# Instantiates a client
translate_client = translate.Client()
# The text to translate
text = u'Hello, world!'
# The target language
target = 'ru'
# Translates some text into Russian
translation = translate_client.translate(
text,
target_language=target)
print(u'Text: {}'.format(text))
print(u'Translation: {}'.format(translation['translatedText']))
これをコンパイルすると、次のエラーが返されます。
トレースバック(最新の呼び出しは最後):ファイル "test.py"、5行目、translate_client = translate.Client()ファイル "C:\ ProgramData\Anaconda3\lib\site-packages\google\cloud\translate_v2\client.py "、65行目init super(Client、self).init(credentials = credentials、_http = _http)ファイル" C:\ ProgramData\Anaconda3\lib\site -packages\google\cloud\client.py "、129行目init credentials、_ = google.auth.default()ファイル" C:\ ProgramData\Anaconda3\lib\site-packages\google\auth_default.py "、行294、デフォルトの認証情報、project_id = checker()ファイル" C:\ ProgramData\Anaconda3\lib\site-packages\google\auth_default.py "、行165、_get_explicit_environ_credentials os.environ [ environment_vars.CREDENTIALS])ファイル「C:\ ProgramData\Anaconda3\lib\site-packages\google\auth_default.py」の89行目の_load_credentials_from_file 'ファイル{}が見つかりませんでした。'。format(filename))google.auth .exceptions.DefaultCredentialsError:ファイルD:\ Summer Projects\Translate\social media analysis-2a59d94ba22d.json was not見つかりました。
D:\ Summer Projects\Translate\social media analysis-2a59d94ba22d.jsonは、このプロジェクト用にGoogleクラウドから提供されたキーを配置するパスです。どうすればこれを解決できますか?.
GOOGLE_APPLICATION_CREDENTIALS
の環境変数を設定する必要がある
これをコードに追加するには、次の行を追加します。
credential_path = "D:\Summer Projects\Translate\social media analysis-2a59d94ba22d.json"
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = credential_path
完全なソリューション:
# Imports the Google Cloud client library
import os
from google.cloud import translate
credential_path = "D:\Summer Projects\Translate\social media analysis-2a59d94ba22d.json"
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = credential_path
# Instantiates a client
translate_client = translate.Client()
# The text to translate
text = u'Hello, world!'
# The target language
target = 'ru'
# Translates some text into Russian
translation = translate_client.translate(
text,
target_language=target)
print(u'Text: {}'.format(text))
print(u'Translation: {}'.format(translation['translatedText']))
現在、ビジョンAPIを扱っています。私の解決策は上記の答えに依存しています。
ただし、Googleのサンプルコードは、以前のコードとは少し異なります。
私のサンプルコードは
def run_quickstart():
import os
import io
from google.cloud import vision
from google.cloud.vision import types
...
# I made the modification here
credential_path = "PATH"
# for example
# credential_path = "projectname-xxxxxxxx.json"
# WRONG code
# credential_path = "~/Downloads/projectname-xxxxxxxx.json"
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = credential_path
注意する必要があるのは、JSON
ファイルを.py
と同じフォルダーに配置することです。
したがって、PATH
は実際にはJSONファイルを指す実際のパスではありません
次のように、JSONファイルの名前のみに移動しますprojectname-xxxxxxxx.json