Итак, я изменил код Google Speech API
. Пример кода (не работал до того, как он был), чтобы быть наравне с уведомлением об обновлении (относительно устаревания в ClientAuthenticator
) и получить такая же ошибка, как и раньше, без разрешения, с хозяином быть speech.googleapis.com/v1beta1/speech:asyncrecognize?key=My_Key
мой код выглядит следующим образом:API Google Speech API возвращает PERMISSION_DENIED запрос не может быть идентифицирован с клиентским проектом
public static ManagedChannel createChannel(String host) throws IOException {
FileInputStream filestream = new FileInputStream("/home/admin/creds.json");
GoogleCredentials creds = GoogleCredentials.fromStream(filestream).createScoped(OAUTH2_SCOPES);
ManagedChannel channel = ManagedChannelBuilder.forTarget(host).build();
GreeterGrpc.GreeterStub stub = GreeterGrpc.newStub(channel);
stub = stub.withCallCredentials(MoreCallCredentials.from(creds));
System.out.println(channel.authority()+creds);
filestream.close();
return channel;
}
но он просто возвращает
WARNING: RPC failed: Status{code=PERMISSION_DENIED, description=The request cannot be identified with a client project. Please pass a valid API key with the request., cause=null}
любую помощь или совет приветствуется, спасибо!
Код, который вы предоставили, используется с помощью 'GreeterGrpc' - разве вы не должны использовать заглушку Speech API? Откуда вы взяли 'creds.json'? (Это определенно файл JSON учетной записи службы? Он должен иметь свойства JSON 'type',' project_id', 'private_key_id',' private_key', 'client_email',' client_id', 'auth_uri',' token_uri', 'auth_provider_x509_cert_url 'и' client_x509_cert_url') –
@JonSkeet Его действительный JSON, но idk, как использовать их заглушки, поскольку я не могу найти примеры или документацию. –
Посмотрите на https://github.com/GoogleCloudPlatform/java-docs-samples/tree/ master/speech/grpc - надеюсь, это вам поможет. –