Finally, to set the key and userIp parameters and insert custom logic, extend it like this:
publicstaticclassMyRequestInitializer2extendsCommonGoogleClientRequestInitializer{publicMyRequestInitializer2(){super(KEY,USER_IP);}{@literal@}Overridepublicvoidinitialize(AbstractGoogleClientRequest{@literal<}?{@literal>}request)throwsIOException{super.initialize(request);// must be called to set the key and userIp parameters// insert some additional logic}}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Class CommonGoogleClientRequestInitializer (2.8.1)\n\nVersion latestkeyboard_arrow_down\n\n- [2.8.1 (latest)](/java/docs/reference/google-api-client/latest/com.google.api.client.googleapis.services.CommonGoogleClientRequestInitializer)\n- [2.8.0](/java/docs/reference/google-api-client/2.8.0/com.google.api.client.googleapis.services.CommonGoogleClientRequestInitializer)\n- [2.7.2](/java/docs/reference/google-api-client/2.7.2/com.google.api.client.googleapis.services.CommonGoogleClientRequestInitializer)\n- [2.6.0](/java/docs/reference/google-api-client/2.6.0/com.google.api.client.googleapis.services.CommonGoogleClientRequestInitializer)\n- [2.5.1](/java/docs/reference/google-api-client/2.5.1/com.google.api.client.googleapis.services.CommonGoogleClientRequestInitializer)\n- [2.4.1](/java/docs/reference/google-api-client/2.4.1/com.google.api.client.googleapis.services.CommonGoogleClientRequestInitializer)\n- [2.1.2](/java/docs/reference/google-api-client/2.1.2/com.google.api.client.googleapis.services.CommonGoogleClientRequestInitializer)\n- [2.0.1](/java/docs/reference/google-api-client/2.0.1/com.google.api.client.googleapis.services.CommonGoogleClientRequestInitializer)\n- [1.35.2](/java/docs/reference/google-api-client/1.35.2/com.google.api.client.googleapis.services.CommonGoogleClientRequestInitializer)\n- [1.34.1](/java/docs/reference/google-api-client/1.34.1/com.google.api.client.googleapis.services.CommonGoogleClientRequestInitializer)\n- [1.33.4](/java/docs/reference/google-api-client/1.33.4/com.google.api.client.googleapis.services.CommonGoogleClientRequestInitializer) \n\n public class CommonGoogleClientRequestInitializer implements GoogleClientRequestInitializer\n\nGoogle common client request initializer implementation for setting properties like key and\nuserIp.\n\nThe simplest usage is to use it to set the key parameter: \n\n\n public static final GoogleClientRequestInitializer KEY_INITIALIZER =\n CommonGoogleClientRequestInitializer.newBuilder()\n .setKey(KEY)\n .build();\n \nThere is also a constructor to set both the key and userIp parameters: \n\n\n public static final GoogleClientRequestInitializer INITIALIZER =\n CommonGoogleClientRequestInitializer.newBuilder()\n .setKey(KEY)\n .setUserIp(USER_IP)\n .build();\n \nIf you want to implement custom logic, extend it like this: \n\n\n public static class MyRequestInitializer extends CommonGoogleClientRequestInitializer {\n\n {@literal @}Override\n public void initialize\n (AbstractGoogleClientRequest{@literal \u003c}?{@literal\u003e} request) throws IOException {\n // custom logic\n }\n }\n \nFinally, to set the key and userIp parameters and insert custom logic, extend it like this: \n\n\n public static class MyRequestInitializer2 extends CommonGoogleClientRequestInitializer {\n\n public MyRequestInitializer2() {\n super(KEY, USER_IP);\n }\n\n {@literal @}Override\n public void initialize\n (AbstractGoogleClientRequest{@literal \u003c}?{@literal\u003e} request) throws IOException {\n super.initialize(request); // must be called to set the key and userIp parameters\n // insert some additional logic\n }\n }\n \nSubclasses should be thread-safe. \n\nInheritance\n-----------\n\n[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e CommonGoogleClientRequestInitializer \n\nImplements\n----------\n\n[GoogleClientRequestInitializer](/java/docs/reference/google-api-client/latest/com.google.api.client.googleapis.services.GoogleClientRequestInitializer) \n\nInherited Members\n-----------------\n\n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nStatic Methods\n--------------\n\n### newBuilder()\n\n public static CommonGoogleClientRequestInitializer.Builder newBuilder()\n\nReturns new builder.\n\nConstructors\n------------\n\n### CommonGoogleClientRequestInitializer() (deprecated)\n\n public CommonGoogleClientRequestInitializer()\n\n**Deprecated.** *Please use the builder interface*\n\n### CommonGoogleClientRequestInitializer(CommonGoogleClientRequestInitializer.Builder builder)\n\n protected CommonGoogleClientRequestInitializer(CommonGoogleClientRequestInitializer.Builder builder)\n\n### CommonGoogleClientRequestInitializer(String key) (deprecated)\n\n public CommonGoogleClientRequestInitializer(String key)\n\n**Deprecated.** *Please use the builder interface*\n\n### CommonGoogleClientRequestInitializer(String key, String userIp) (deprecated)\n\n public CommonGoogleClientRequestInitializer(String key, String userIp)\n\n**Deprecated.** *Please use the builder interface*\n\nMethods\n-------\n\n### getKey()\n\n public final String getKey()\n\nReturns the API key or `null` to leave it unchanged.\n\n### getRequestReason()\n\n public final String getRequestReason()\n\nReturns the request reason or `null` to leave it unchanged.\n\n### getUserAgent()\n\n public final String getUserAgent()\n\nReturns the user agent or `null` to leave it unchanged.\n\n### getUserIp()\n\n public final String getUserIp()\n\nReturns the user IP or `null` to leave it unchanged.\n\n### getUserProject()\n\n public final String getUserProject()\n\nReturns the user project or `null`.\n\n### initialize(AbstractGoogleClientRequest\\\u003c?\\\u003e request)\n\n public void initialize(AbstractGoogleClientRequest\u003c?\u003e request)\n\nSubclasses should call super implementation in order to set the key and userIp."]]