Изменить User-Agent для Google IAM в Java - PullRequest
0 голосов
/ 25 апреля 2019

Можно ли изменить информацию агента пользователя для вызовов API в Google IAM, когда мы ее создадим?Мой код выглядит так:

    public static Iam initIam() throws IOException, GeneralSecurityException {
        InputStream resourceAsStream = GoogleIAM.class.getClassLoader().getResourceAsStream("creds.txt");
        GoogleCredential credential = GoogleCredential.fromStream(resourceAsStream);

        httpTransport = GoogleNetHttpTransport.newTrustedTransport();

        if (credential.createScopedRequired()) {
            List<String> scopes = new ArrayList<>();
            // Enable full Cloud Platform scope.
            scopes.add(IamScopes.CLOUD_PLATFORM);
            credential = credential.createScoped(scopes);
        }

        // Create IAM API object associated with the authenticated transport.
        return new Iam.Builder(httpTransport, JSON_FACTORY, credential).setApplicationName("test").build();
    }

Я видел, что для Google Storage возможно использование HeaderProvider следующим образом:

        Map<String, String> m = ImmutableMap.<String, String>builder().put("user-agent", "my custom useragent").build();
        HeaderProvider headerProvider = FixedHeaderProvider.create(m);

, но я не смог выяснить, как использовать HeaderProvider в GoogleЯ.

Есть идеи?

1 Ответ

0 голосов
/ 02 мая 2019

На самом деле это уже сделано в коде

вернуть новый Iam.Builder (httpTransport, JSON_FACTORY, учетные данные) .setApplicationName ("test"). Build ();

с помощью метода setApplicationName, в котором в журнале Stackdriver вы можете видеть, что имя приложения, то есть test, будет находиться в поле user-agent

...