Как отправить ключ API защиты от фишинга через gRPC? - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь использовать Google Phishing Protection API через gRPC, все выглядит просто: здесь , но, сравнивая с здесь , вы видите, что с помощью REST вы можете отправить запросбез аутентификации или чего-то подобного, вы можете передать ключ API в качестве параметра запроса.

Я протестировал опцию REST, и она работает для меня, но, пытаясь использовать опцию gRPC, я получаю ошибки при попытке аутентификациичто я не хочу делать.

Ответы [ 2 ]

0 голосов
/ 26 сентября 2019

Эквивалентом параметра запроса REST key в gRPC являются метаданные x-goog-api-key.API для добавления этого ключа метаданных зависит от языка.

При использовании Java с клиентом googleapi (который вы должны использовать) вы можете использовать:

PhishingProtectionServiceV1Beta1Client.create(
    PhishingProtectionServiceV1Beta1Settings.newBuilder()
      .setCredentialsProvider(new NoCredentialsProvider())
      .setHeaderProvider(PhishingProtectionServiceV1Beta1Settings.defaultApiClientHeaderProviderBuilder()
          .setApiClientHeaderKey(yourApiKey)
          .build())
      .build());

В «обычном»grpc это будет выглядеть как:

import io.grpc.Metadata;

private static final Metadata.Key<String> API_KEY
    = Metadata.Key.of("x-goog-api-key", Metadata.ASCII_STRING_MARSHALLER);

Metadata apiKeyMetadata = new Metadata();
apiKeyMetadata.put(API_KEY, yourApiKey);
stub = stub.withInterceptors(MetadataUtils.newAttachHeadersInterceptor(apiKeyMetadata));
0 голосов
/ 25 сентября 2019

Говоря о gRPC, понятно, что вы обязаны проходить аутентификацию.Необходимо для квоты

...