sig   type oauth1_data = {     signature_method : GapiCore.SignatureMethod.t;     consumer_key : string;     consumer_secret : string;     token : string;     secret : string;   }   type oauth1_params = {     http_method : GapiCore.HttpMethod.t;     url : string;     post_fields_to_sign : (string * string) list;   }   type oauth2_data = {     client_id : string;     client_secret : string;     oauth2_token : string;     refresh_token : string;     refresh_access_token : (unit -> string) option;   }   type authentication =       NoAuth     | ClientLogin of string     | OAuth1 of GapiAuth.oauth1_data     | OAuth2 of GapiAuth.oauth2_data   val generate_authorization_header :     ?oauth1_params:GapiAuth.oauth1_params ->     GapiAuth.authentication -> string option end